Найкращий спосіб запустити python 3.7 на Ubuntu 16.04, який постачається з python 3.5


18

Я хотів би уникнути зворотного зв'язку, вони, здається, завжди псують мої пакунки.

Тому я думав про такі інструменти, як conda / virtualenv / можливо, навіть докер може допомогти. Який найпростіший / найчистіший спосіб роботи з python 3.7 в моїй системі?


1
Загляньте в pyenv
Naftuli Kay

Відповіді:


33

Це має допомогти вам працювати з Python 3.7 на Ubuntu 16.04

# 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

Тоді ви просто назвете Python так:

python3.7 ./yourScript.py

Це скріншот декількох версій Python, які існують у контейнері docker, і як їх можна розрізнити:

Як називати різні версії Python

Pip повинен був бути встановлений і з цією установкою. Для встановлення пакетів використовуйте такий формат:

pip3.7 --version

1
Це працює як шарм. Мені вдалося встановити python3.7. Єдине застереження - використовувати sudo make altinstall, оскільки доступ до каталогу не був звичайним користувачем. всі apt-get також були встановлені за допомогою sudo. Дякую тонну за обмін інформацією.
Doogle

Прийнята відповідь спрацювала для мене чудово, з одним застереженням; Мені довелося apt install libffi-devтакож уникати помилки в ході altinstall (Ubuntu 16.04 LTS):python ModuleNotFoundError: No module named '_ctypes'
moshisushi

@moshisushi Я також зіткнувся з цією проблемою, коли працював над вирішенням проблеми. З цієї причини я вже включив libffi-dev до початкової установки.
Sn3akyP3t3

1
@Doogle Префікс команди з sudo, де потрібно. Дякуємо, що вказали на це. Ці кроки були виведені з моїх кроків побудови контейнера Docker, які передбачав користувач root.
Sn3akyP3t3

3

Я б не рекомендував вручну розбиратися з установками вихідного коду та шляхами. Скористайтесяpyenv і врятуйте себе від неприємностей.

Все, що вам потрібно зробити, це:

  • Запустіть pyenvінсталятор
  • Дотримуйтесь інструкцій
  • Встановіть потрібні вам версії Python
  • Виберіть версію Python, яку ви хочете використовувати для певного каталогу або в усьому світі

Наприклад, щоб встановити 3.7, перевірте, які версії доступні:

pyenv install -l | grep 3.7

Потім запустіть:

pyenv install 3.7.1

Тепер ви можете вибрати версію Python:

pyenv global 3.7.1

Це перемикає ваше python точку на 3.7.1. Якщо потрібно системний пітон, запустіть:

pyenv global system

Щоб перевірити, які версії Python доступні, запустіть pyenv versions.


0

Ви можете завантажити вихідний код з www.python.org, компілювати та створити його з вихідного, а потім:

1) Додайте шлях до виконуваних файлів python до PATHбібліотек до LD_LIBRARY_PATH.

2) Виконайте те, що я зробив, і компілюйте його і будуйте його з джерела та створюйте посилання на виконувану файлу в /usr/bin. Ви можете викликати його, python37щоб відрізнити його від того, python 3.5що вже встановлено.

Перший метод використовуватиме його у вашому середовищі за замовчуванням, тоді як з другим увімкнено, вам доведеться вказати його за допомогою команди, яку ви використовували для symlink. Можливо, ви хочете скористатися другим методом спочатку, перш ніж зробити його за замовчуванням, як python 3.7і раніше.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.