[Noviembre de 2019] Necesitaba instalar un entorno Python 3.7 (env) en mi sistema Arch Linux basado en Python 3.8. Python 3.7 ya no estaba en el sistema, por lo que no pude degradar Python para instalar un paquete que necesitaba.
Además, quería usar ese paquete / Python 3.7 dentro de un entorno virtual (venv). Así es como lo hice.
Descargue los archivos fuente de la versión Python:
Descargué los archivos fuente Python 3.7.4 de
https://www.python.org/downloads/source/
a
/mnt/Vancouver/apps/python_versions/src/Python-3.7.4.tgz
Luego extraje ese archivo (archivos fuente) a
/mnt/Vancouver/apps/python_versions/src/Python-3.7.4/
Instalación:
[Nota: en mi sistema env, no un 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 las versiones de Python instaladas:
$ 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
Cómo crear un venv para una versión específica de Python:
https://docs.python.org/3/tutorial/venv.html
12.2 CREANDO ENTORNOS VIRTUALES
Se llama al módulo utilizado para crear y administrar entornos virtuales venv
.venv
generalmente instalará la versión más reciente de Python que tenga disponible. Si tiene varias versiones de Python en su sistema, puede seleccionar una versión específica de Python ejecutando python3 o la versión que desee.
Para crear un entorno virtual, decida el directorio donde desea ubicarlo y ejecute el módulo venv como un script con la ruta del directorio:
python3 -m venv tutorial-env
Esto creará el tutorial-env
directorio si no existe, y también creará directorios que contengan una copia del intérprete de Python, la biblioteca estándar y varios archivos de soporte. ...
Cree Python 3.7 venv [en un entorno / sistema operativo 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)
Añadido a ~/.bashrc
:
alias p37='echo " [Python 3.7 venv (source ~/venv/py3.7/bin/activate)]" && source ~/venv/py3.7/bin/activate'
Prueba 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]
>>>