[Novembro de 2019] Eu precisava instalar um ambiente Python 3.7 (env) no meu sistema Arch Linux baseado em Python 3.8. O Python 3.7 não estava mais no sistema, então não pude fazer o downgrade do Python para instalar um pacote que eu precisava.
Além disso, eu queria usar esse pacote / Python 3.7 dentro de um ambiente virtual (venv). Foi assim que eu fiz.
Faça o download dos arquivos de origem da versão do Python:
Eu baixei os arquivos de origem Python 3.7.4 de
https://www.python.org/downloads/source/
para
/mnt/Vancouver/apps/python_versions/src/Python-3.7.4.tgz
Eu então extraí esse arquivo morto (arquivos de origem) para
/mnt/Vancouver/apps/python_versions/src/Python-3.7.4/
Instalação:
[Nota: no meu sistema env, não um 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
Examine as versões instaladas do 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
Como criar um venv para uma versão específica do Python:
https://docs.python.org/3/tutorial/venv.html
12.2 CRIANDO AMBIENTES VIRTUAIS
O módulo usado para criar e gerenciar ambientes virtuais é chamado venv
. venv
geralmente instala a versão mais recente do Python que você tem disponível. Se você possui várias versões do Python em seu sistema, pode selecionar uma versão específica do Python executando python3 ou a versão que desejar.
Para criar um ambiente virtual, decida o diretório em que deseja colocá-lo e execute o módulo venv como um script com o caminho do diretório:
python3 -m venv tutorial-env
Isso criará o tutorial-env
diretório, se ele não existir, e também criará diretórios dentro dele, contendo uma cópia do interpretador Python, a biblioteca padrão e vários arquivos de suporte. ...
Crie o Python 3.7 venv [em um sistema operacional / sistema 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)
Adicionado a ~/.bashrc
:
alias p37='echo " [Python 3.7 venv (source ~/venv/py3.7/bin/activate)]" && source ~/venv/py3.7/bin/activate'
Teste o Python 3.7 venv:
$ 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]
>>>