En son Python 2.7.X veya 3.X'i Ubuntu'ya nasıl yüklerim?

157

En son Python tarball'unu, İşte 'den indirilen Ubuntu'ya yüklemek istiyorum.

Bu, yüklemenin doğru bir yolu mu?

./configure
make
make install

Değilse, bunu nasıl yaparım?

    
sordu Mohammads 05.02.2012 13:02

5 cevap

183

Önce, bazı bağımlılıkları yükleyin:

sudo apt-get install build-essential checkinstall
sudo apt-get install libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev

Ardından aşağıdaki komutu kullanarak indirin:

version=2.7.13
cd ~/Downloads/
wget https://www.python.org/ftp/python/$version/Python-$version.tgz

Ayıkla ve dizine git:

tar -xvf Python-$version.tgz
cd Python-$version

Şimdi, yalnızca denediğiniz komutu kullanarak yükleyin, gerekirse checkinstall 'ı kullanarak daha kolay bir şekilde kaldırın:

./configure
make
sudo checkinstall

version 'yı ihtiyaç duyduğunuz sürüme değiştirin (örneğin, version=2.7.1 veya version=3.6.0 ).

    
verilen cevap Achu 05.02.2012 13:20
159

Kendinizi derleme isteğiniz gerçekten olmadıkça, tercih edilen yol DeadSnakes PPA kullanmaktır. varsayılan olarak dahil olmayan Python sürümlerini yüklemek için:

sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt-get update
sudo apt-get install python2.7

python2.4 veya python3.6 vb. gibi diğer sürümler de kullanılabilir.

    
verilen cevap brousch 05.02.2012 15:40
24

En son Ubuntu sürümleri için bunu belgelemeye devam edelim 1 : Ubuntu 16.04.1 sunucusu için varsayılan Python sürüm 3.5 ve Python 2.7 varsayılan olarak değil . Yeni bir yüklemede ( python yürütülebilir dosya bile yoktur):

$ type python3 python2 python 
python3 is /usr/bin/python3
-bash: type: python2: not found
-bash: type: python: not found

$ python3 --version 
Python 3.5.2

$ python --version 
The program 'python' can be found in the following packages:
 * python-minimal
 * python3
Try: sudo apt install <selected package>

Not: devam etmeden önce, muhtemelen sudo apt-get update , sudo apt-get upgrade ve sudo apt-get dist-upgrade yapmak isteyeceksiniz (lütfen bu komutların aslında tam olarak ne yaptığını not edin, burada yeni bir yükleme yapacağımı varsayalım). )

Python 2.7'yi kurmak şu kadar kolay:

$ sudo apt-get install python2.7

Python 2.7'nin kurulmasının ilk çıkışı aşağıdaki gibidir:

$ sudo apt-get install python2.7
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  libpython2.7-minimal libpython2.7-stdlib python2.7-minimal
Suggested packages:
  python2.7-doc binutils binfmt-support
The following NEW packages will be installed:
  libpython2.7-minimal libpython2.7-stdlib python2.7 python2.7-minimal
0 upgraded, 4 newly installed, 0 to remove and 0 not upgraded.
Need to get 3,735 kB of archives.
After this operation, 15.8 MB of additional disk space will be used.
Do you want to continue? [Y/n] Y
...etc, etc...

python 2.7’yi yükledikten sonra,

$ type python3 python2.7 python3.5 python2 python
python3 is /usr/bin/python3
python2.7 is /usr/bin/python2.7
python3.5 is /usr/bin/python3.5
bash: type: python2: not found
bash: type: python: not found

Fakat yine de bir sorun var, çünkü PyPI modüllerini pip aracılığıyla kuramıyorsunuz - örneğin, jupyter notebook'lar veya en yeni scipy veya numpy (etc) istiyorsanız,% co_de yüklemek isteyeceksiniz % ve sonra% co_de bunları ve% grafik_ veya çekirdek sistem kitaplıkları gibi gerekli sistem bağımlılıklarını yüklemek için yine de pip 'ye dönüyorlar.

$ type pip3 pip2 pip
bash: type: pip3: not found
bash: type: pip2: not found
bash: type: pip: not found

$ python3 -m pip --version 
/usr/bin/python3: No module named pip

Yani pip yüklemek için, yine pip install kadar kolay:

$ sudo apt-cache search -n pip | egrep '^python[0-9]*-pip'
python-pip - alternative Python package installer
python-pip-whl - alternative Python package installer
python3-pip - alternative Python package installer - Python 3 version of the package

Python% apt-get 'si için sudo apt-get install python-pip ' si, Python% 3 co_de% 'si için python-pip ' si gerekir. % Co_de% yoluyla yükleme, gerekli bağımlılıkları yüklediğinizden emin olur; örneğin pip2'yi yüklemek için çıktı:

$ sudo apt-get install python-pip
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  binutils build-essential dpkg-dev fakeroot g++ g++-5 gcc gcc-5 libalgorithm-diff-perl
  libalgorithm-diff-xs-perl libalgorithm-merge-perl libasan2 libatomic1 libc-dev-bin libc6-dev
  libcc1-0 libcilkrts5 libdpkg-perl libexpat1-dev libfakeroot libfile-fcntllock-perl libgcc-5-dev
  libgomp1 libitm1 liblsan0 libmpx0 libpython-all-dev libpython-dev libpython-stdlib libpython2.7
  libpython2.7-dev libquadmath0 libstdc++-5-dev libtsan0 libubsan0 linux-libc-dev make
  manpages-dev python python-all python-all-dev python-dev python-minimal python-pip-whl
  python-pkg-resources python-setuptools python-wheel python2.7-dev
Suggested packages:
  binutils-doc debian-keyring g++-multilib g++-5-multilib gcc-5-doc libstdc++6-5-dbg gcc-multilib
  autoconf automake libtool flex bison gdb gcc-doc gcc-5-multilib gcc-5-locales libgcc1-dbg
  libgomp1-dbg libitm1-dbg libatomic1-dbg libasan2-dbg liblsan0-dbg libtsan0-dbg libubsan0-dbg
  libcilkrts5-dbg libmpx0-dbg libquadmath0-dbg glibc-doc libstdc++-5-doc make-doc python-doc
  python-tk python-setuptools-doc
The following NEW packages will be installed:
  binutils build-essential dpkg-dev fakeroot g++ g++-5 gcc gcc-5 libalgorithm-diff-perl
  libalgorithm-diff-xs-perl libalgorithm-merge-perl libasan2 libatomic1 libc-dev-bin libc6-dev
  libcc1-0 libcilkrts5 libdpkg-perl libexpat1-dev libfakeroot libfile-fcntllock-perl libgcc-5-dev
  libgomp1 libitm1 liblsan0 libmpx0 libpython-all-dev libpython-dev libpython-stdlib libpython2.7
  libpython2.7-dev libquadmath0 libstdc++-5-dev libtsan0 libubsan0 linux-libc-dev make
  manpages-dev python python-all python-all-dev python-dev python-minimal python-pip
  python-pip-whl python-pkg-resources python-setuptools python-wheel python2.7-dev
0 upgraded, 49 newly installed, 0 to remove and 0 not upgraded.
Need to get 61.1 MB of archives.
After this operation, 169 MB of additional disk space will be used.
Do you want to continue? [Y/n] Y
...etc...

Bunun bir sonucu olarak ilginç bir şey olur: Artık "standart" (ve PEP önerilir) pip ve python3-pip değerine sahip olursunuz (python 2.7 ve python 3.5 için sadece symlinks olan):

$ type python3 python2 python python2.7 python3.5 
python3 is /usr/bin/python3
python2 is /usr/bin/python2
python is /usr/bin/python
python2.7 is /usr/bin/python2.7
python3.5 is /usr/bin/python3.5

Ayrıca pip 'yi de isteyeceksiniz; Yüklemeden önce:

$ type pip pip2 pip3
pip is /usr/bin/pip
pip2 is /usr/bin/pip2
-bash: type: pip3: not found

$ python2 -m pip --version 
pip 8.1.1 from /usr/lib/python2.7/dist-packages (python 2.7)

$ python3 -m pip --version 
/usr/bin/python3: No module named pip

apt-get yüklendikten sonra,

$ sudo apt-get install python3-pip
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  libpython3-dev libpython3.5-dev python3-dev python3-setuptools python3-wheel python3.5-dev
Suggested packages:
  python-setuptools-doc
The following NEW packages will be installed:
  libpython3-dev libpython3.5-dev python3-dev python3-pip python3-setuptools python3-wheel python3.5-dev
0 upgraded, 7 newly installed, 0 to remove and 0 not upgraded.
Need to get 38.0 MB of archives.
After this operation, 55.2 MB of additional disk space will be used.
Do you want to continue? [Y/n] 
...etc...

Sonuçlanan sürümler:

$ type python python2 python3 pip pip2 pip3
python is /usr/bin/python
python2 is hashed (/usr/bin/python2)
python3 is hashed (/usr/bin/python3)
pip is /usr/bin/pip
pip2 is /usr/bin/pip2
pip3 is /usr/bin/pip3

$ pip --version 
pip 8.1.1 from /usr/lib/python2.7/dist-packages (python 2.7)

$ pip3 --version 
pip 8.1.1 from /usr/lib/python3/dist-packages (python 3.5)

$ python2 -m pip --version 
pip 8.1.1 from /usr/lib/python2.7/dist-packages (python 2.7)

$ python3 -m pip --version 
pip 8.1.1 from /usr/lib/python3/dist-packages (python 3.5)

Ve son bir şey daha önce tüm favori python PyPI modüllerini kurmaya başlayabilir ve kurmaya başlayabilirsiniz: muhtemelen piponun kendisini (hem pip2 hem pip3'ü ayrı ayrı) yükseltmeniz gerekecek, ayrıca python2 ise python3 çalıştırılabilirleri veya sudo apt-get install python3-pip çalıştırılabilirleri aracılığıyla çağrılan, gerçek yükseltmeler pip3 'de saklanır):

$ sudo -H python2 -m pip install --upgrade pip
...
$ sudo -H python3 -m pip install --upgrade pip
...

Artık tek başına pip veya python içinde paketlenmiş sürüm ( pip yoluyla) çalıştırabilirsiniz.

[1] Tarihsel özet: daha eski Ubuntu'nun Python 2.6’sı vardı, bu yüzden Python 2.7+’nin yüklü olduğu çeşitli yöntemler. Daha sonra, Python 2.7 kamusal depolara eklendikten sonra, en yeni Python 2.7'yi en son gerekli düzeltmelerle kurmak için hala aynı zorlukla karşılaştık. Bugün durum çok daha iyi / basit: mevcut Python 2.7 & amp; 3.5 (temelde insanların umursadığı iki Python platformu sürümü) artık kamuya açık yayınlarda çok kararlı, bu yüzden şimdi sadece son python modüllerini kurmadan endişe etmeliyiz. em> piton . Şimdi Python "en yeni sürüm problemi", işletim sisteminden kısmen çıktı. /usr/lib ve PyPI & amp; % Co_de%).

    
verilen cevap michael 29.09.2016 10:50
11

12.04

Achu'nun cevabını takip ediyorsanız, libread5-dev terimi libreadline-gplv2-dev olarak değiştirilmelidir. Yani tam komut şöyle olurdu:

sudo apt-get install libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev
    
verilen cevap ThatGuy 26.07.2012 16:37
2

Ayrıca, pyenv ’i kullanarak da indirip yükleyebilirsiniz

#Install Pyenv
git clone https://github.com/pyenv/pyenv.git ~/.pyenv
export PATH=~/.pyenv/bin:/usr/local/hadoop/bin/:$PATH
echo 'export PYENV_ROOT="~/.pyenv"' >> ~/.bash_profile
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(pyenv init -)"' >> ~/.bash_profile

#Install Python
pyenv install 2.7.8
pyenv global 2.7.8

pyenv install 3.4.5
pyenv global 3.4.5
    
verilen cevap Whispered 30.03.2017 09:38

Etiketlerdeki diğer soruları oku