[Novembre 2019] Avevo bisogno di installare un ambiente Python 3.7 (env) sul mio sistema Arch Linux basato su Python 3.8. Python 3.7 non era più sul sistema, quindi non potevo effettuare il downgrade di Python per installare un pacchetto di cui avevo bisogno.
Inoltre, volevo usare quel pacchetto / Python 3.7 in un ambiente virtuale (venv). È così che l'ho fatto.
Scarica i file sorgente della versione Python:
Ho scaricato i file sorgente di Python 3.7.4 da
https://www.python.org/downloads/source/
per
/mnt/Vancouver/apps/python_versions/src/Python-3.7.4.tgz
Ho quindi estratto quell'archivio (file sorgente) in
/mnt/Vancouver/apps/python_versions/src/Python-3.7.4/
Installazione:
[Nota: nel mio sistema env, non 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
Esamina le versioni di Python installate:
$ 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
Come creare un venv per una versione specifica di Python:
https://docs.python.org/3/tutorial/venv.html
12.2. CREAZIONE DI AMBIENTI VIRTUALI
Viene chiamato il modulo utilizzato per creare e gestire ambienti virtuali venv
.venv
di solito installa la versione più recente di Python disponibile. Se hai più versioni di Python sul tuo sistema, puoi selezionare una versione specifica di Python eseguendo python3 o la versione che desideri.
Per creare un ambiente virtuale, decidere su una directory in cui si desidera posizionarlo ed eseguire il modulo venv come script con il percorso della directory:
python3 -m venv tutorial-env
Questo creerà la tutorial-env
directory se non esiste, e creerà anche delle directory al suo interno contenenti una copia dell'interprete Python, la libreria standard e vari file di supporto. ...
Crea Python 3.7 venv [su un sistema operativo env / 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)
Aggiunto a ~/.bashrc
:
alias p37='echo " [Python 3.7 venv (source ~/venv/py3.7/bin/activate)]" && source ~/venv/py3.7/bin/activate'
Prova 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]
>>>