[Листопад 2019] Мені потрібно було встановити середовище Python 3.7 (env) на моїй системі Arch Linux на основі Python 3.8. Python 3.7 більше не був у системі, тому я не зміг знизити рівень Python, щоб встановити потрібний мені пакет.
Крім того, я хотів використати цей пакет / Python 3.7 у віртуальному середовищі (venv). Ось як я це зробив.
Завантажте вихідні файли версії Python:
Я завантажив вихідні файли Python 3.7.4
https://www.python.org/downloads/source/
до
/mnt/Vancouver/apps/python_versions/src/Python-3.7.4.tgz
Потім я витяг цей архів (вихідні файли) до
/mnt/Vancouver/apps/python_versions/src/Python-3.7.4/
Установка:
[Примітка: у моїй системі env, а не venv.]
cd /mnt/Vancouver/apps/python_versions/src/Python-3.7.4/
time ./configure ## 17 sec
time make ## 1 min 51 sec
time sudo make install ## 18 sec
time make clean ## 0.3 sec
Вивчіть встановлені версії Python:
$ which python
/usr/bin/python
$ python --version
Python 3.8.0
$ which python3.7
/usr/local/bin/python3.7
$ python ## Python 3.8 [system / env]
Python 3.8.0 (default, Oct 23 2019, 18:51:26)
[GCC 9.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
$ python3.7 ## newly-installed Python 3.7 package
Python 3.7.4 (default, Nov 20 2019, 11:36:53)
[GCC 9.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> print(sys.version)
3.7.4 (default, Nov 20 2019, 11:36:53)
[GCC 9.2.0]
>>>
$ python3.7 --version
Python 3.7.4
Як створити venv для конкретної версії Python:
https://docs.python.org/3/tutorial/venv.html
12.2. СТВОРЕННЯ ВІРТУАЛЬНИХ ЕКОЛОГІЙ
Модуль, який використовується для створення та управління віртуальними середовищами, називається venv
. venv
зазвичай встановлюється найновіша версія Python, яка є у вас в наявності. Якщо у вашій системі є кілька версій Python, ви можете вибрати конкретну версію Python, запустивши python3 або будь-яку версію, яку ви хочете.
Щоб створити віртуальне середовище, визначтеся з каталогом, де ви хочете розмістити його, і запустіть модуль venv як скрипт із шлях до каталогу:
python3 -m venv tutorial-env
Це створить tutorial-env
каталог, якщо його не існує, а також створить всередині нього каталоги, що містять копію інтерпретатора Python, стандартну бібліотеку та різні підтримуючі файли. ...
Створіть Python 3.7 venv [у операційній системі / середовищі Python 3.8]:
python3.7 -m venv ~/venv/py3.7 ## create Python 3.7-based venv
source ~/venv/py3.7/bin/activate ## activate that venv
deactivate ## deactivate that venv (when done, there)
Додано до ~/.bashrc
:
alias p37='echo " [Python 3.7 venv (source ~/venv/py3.7/bin/activate)]" && source ~/venv/py3.7/bin/activate'
Тест Python 3.7 венв:
$ p37
[Python 3.7 venv (source ~/venv/py3.7/bin/activate)]
(py3.7)$ python --version
Python 3.7.4
(py3.7)$ python
Python 3.7.4 (default, Nov 20 2019, 11:36:53)
[GCC 9.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> print(sys.version)
3.7.4 (default, Nov 20 2019, 11:36:53)
[GCC 9.2.0]
>>>