Python 3.5 ile gelen Ubuntu 16.04'te python 3.7'yi çalıştırmanın en iyi yolu


18

Backport'lardan kaçınmak istiyorum, her zaman paketlerimi bozuyor gibi görünüyorlar.

Bu yüzden conda / virtualenv / belki docker'ın bile yardımcı olabileceğini düşünüyordum. Sistemimde python 3.7 ile çalışmanın en basit / en temiz yolu nedir?


1
Pyenv içine bakmak
Naftuli Kay

Yanıtlar:


33

Bu, Ubuntu 16.04'te Python 3.7 ile çalışmaya başlamanıza yardımcı olacak

# Install requirements
sudo apt-get install -y build-essential \
checkinstall \
libreadline-gplv2-dev \
libncursesw5-dev \
libssl-dev \
libsqlite3-dev \
tk-dev \
libgdbm-dev \
libc6-dev \
libbz2-dev \
zlib1g-dev \
openssl \
libffi-dev \
python3-dev \
python3-setuptools \
wget

# Prepare to build
mkdir /tmp/Python37
cd /tmp/Python37

# Pull down Python 3.7, build, and install
wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tar.xz
tar xvf Python-3.7.0.tar.xz
cd /tmp/Python37/Python-3.7.0
./configure
sudo make altinstall

O zaman Python'u şöyle çağırırsınız:

python3.7 ./yourScript.py

Bu, bir docker kapsayıcısında bir arada bulunan Python'un birden çok sürümünün ve bunların nasıl ayırt edilebileceğinin bir ekran görüntüsüdür:

Python'un farklı sürümleri nasıl çağrılır

Pip, bu kurulumla da kurulmuş olmalıdır. Paketleri yüklemek için bu biçimi kullanın:

pip3.7 --version

1
Bu bir cazibe gibi çalışır. Python3.7 yükleyebildim. sadece uyarı dizin erişimi normal kullanıcı olmadığı için sudo make altinstall kullanmaktır. tüm apt-get sudo kullanılarak da kuruldu. Bilgileri paylaştığınız için bir ton teşekkürler.
Doogle

Kabul edilen cevap benim için bir uyarı ile iyi çalıştı; apt install libffi-devAltinstall adımında (Ubuntu 16.04 LTS) aşağıdaki hatadan kaçınmak zorunda kaldım :python ModuleNotFoundError: No module named '_ctypes'
moshisushi

@moshisushi Bir çözüme doğru çalışırken de bu problemle karşılaştım. Bu nedenle, ilk yüklemeye zaten libffi-dev'i dahil ettim.
Sn3akyP3t3

1
@Doogle Gerektiğinde sudo ile önek komutları. Bunu işaret ettiğiniz için teşekkürler. Bu adımlar, kök kullanıcı olduğu varsayılan Docker kapsayıcı oluşturma adımımdan alınmıştır.
Sn3akyP3t3

3

Kaynak kodu yüklemeleri ve yolları ile uğraşmayı tavsiye etmem. Kullanınpyenv ve kendinizi beladan kurtarın.

Tüm yapman gereken:

  • Yükleyiciyi çalıştırınpyenv
  • Talimatları takip et
  • İhtiyacınız olan Python sürümlerini yükleyin
  • Belirli bir dizin için veya genel olarak hangi Python sürümünü kullanmak istediğinizi seçin

Örneğin, 3.7'yi yüklemek için hangi sürümlerin mevcut olduğunu kontrol edin:

pyenv install -l | grep 3.7

O zaman koş:

pyenv install 3.7.1

Şimdi Python sürümünüzü seçebilirsiniz:

pyenv global 3.7.1

Bu python, noktanızı 3.7.1'e çevirir. Sistem python'unu istiyorsanız, çalıştırın:

pyenv global system

Hangi Python sürümlerinin kullanılabilir olduğunu kontrol etmek için çalıştırın pyenv versions.


0

Kaynak kodunu www.python.org adresinden indirebilir, derleyebilir ve kaynaktan derleyebilir ve ardından:

1) Çalıştırılabilir python PATHve kitaplıklara giden yolu ekleyin LD_LIBRARY_PATH.

2) Yaptığım şeyi yapın ve derleyip kaynaktan derleyin ve çalıştırılabilir dosyalara sembolik bağlantılar yapın /usr/bin. Yüklü python37olandan ayırt etmek için onu çağırabilirsiniz python 3.5.

İlk yöntem varsayılan olarak ortamınızda kullanacak, ikincisi açıkken ise sembolik bağlantı için kullandığınız komutla belirtmeniz gerekecektir. python 3.7Hala geliştirme aşamasında olduğu gibi varsayılan yapmadan önce ikinci yöntemi kullanmak isteyebilirsiniz .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.