Avant d'utiliser virtualenv
, l'interpréteur par défaut d'ubuntu est python2.7, et /usr/lib/python3
a déjà été installé dans ipython3
et requests
$ python Python 2.7.12 (default, Nov 19 2016, 06:48:10) [GCC 5.4.0 20160609] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>>
$ ipython3 Python 3.5.2 (default, Nov 17 2016, 17:05:23) Type "copyright", "credits" or "license" for more information. IPython 5.1.0 -- An enhanced Interactive Python. ? -> Introduction and overview of IPython's features. %quickref -> Quick reference. help -> Python's own help system. object? -> Details about 'object', use 'object??' for extra details. In [1]: import requests In [2]:
En raison de certains problèmes de compatibilité, la version python par défaut sur l'ordinateur ne peut utiliser que python2.7, donc lors de la création d'une commande, vous devez utiliser -p
pour spécifier l'interpréteur
$ mkdir my_project_folder; cd my_project_folder # 创建虚拟环境 $ virtualenv -p /usr/bin/python3 venv Running virtualenv with interpreter /usr/bin/python3 Using base prefix '/usr' New python executable in /home/ormsf/my_project_folder/venv/bin/python3 Also creating executable in /home/ormsf/my_project_folder/venv/bin/python Installing setuptools, pkg_resources, pip, wheel...done.
Activer l'environnement virtuel
$ source venv/bin/activate
Vous pouvez maintenant voir un venv
supplémentaire devant l'invite, ce qui signifie que l'environnement virtuel a été créé avec succès
(venv) ~/my_project_folder $ ipython3
Pratique Pendant un moment, l'environnement virtuel est isolé de l'environnement réel
# 无法使用ipython3 (venv) ~/my_project_folder $ ipython3 Traceback (most recent call last): File "/usr/bin/ipython3", line 4, in <module> from IPython import start_ipython ImportError: No module named 'IPython' # 默认的解释器已经变成了python3 (venv) ~/my_project_folder $ python Python 3.5.2 (default, Nov 17 2016, 17:05:23) [GCC 5.4.0 20160609] on linux Type "help", "copyright", "credits" or "license" for more information. # 无法使用requests >>> import requests Traceback (most recent call last): File "<stdin>", line 1, in <module> ImportError: No module named 'requests'
A noter qu'il n'est pas nécessaire d'utiliser pip3
(venv) ~/my_project_folder $ pip install requests Collecting requests Downloading requests-2.13.0-py2.py3-none-any.whl (584kB) 100% |████████████████████████████████| 593kB 1.3MB/s Installing collected packages: requests Successfully installed requests-2.13.0
Maintenant la requête peut être utilisée correctement
(venv) ~/my_project_folder $ python Python 3.5.2 (default, Nov 17 2016, 17:05:23) [GCC 5.4.0 20160609] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import requests >>>
(venv) ~/my_project_folder $ pip install ipython
Maintenant, ipython peut être utilisé correctement
(venv) ~/my_project_folder $ ipython Python 3.5.2 (default, Nov 17 2016, 17:05:23) Type "copyright", "credits" or "license" for more information. IPython 5.1.0 -- An enhanced Interactive Python. ? -> Introduction and overview of IPython's features. %quickref -> Quick reference. help -> Python's own help system. object? -> Details about 'object', use 'object??' for extra details. In [1]:
Quitter
(venv) ~/my_project_folder $ deactivate
Le principe est très simple, il suffit de copier le système Python à l'environnement virtualenv et utilisez la commande source venv/bin/activate
Lors de la saisie d'un environnement virtualenv, virtualenv modifiera les variables d'environnement pertinentes afin que les commandes python et pip pointent vers l'environnement virtualenv actuel.
Pour plus d'articles sur Python-Virtualenv, veuillez faire attention au site Web PHP chinois !