Python-Virtualenv

高洛峰
高洛峰original
2017-02-15 15:22:041491parcourir

Notes

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]:

Utiliser

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 !

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn