首頁 >後端開發 >Python教學 >Python-Virtualenv

Python-Virtualenv

高洛峰
高洛峰原創
2017-02-15 15:22:041491瀏覽

註解

在使用virtualenv前ubuntu預設的解釋器是python2.7,而且/usr/lib/python3裡面已經安裝好了ipython3性問題,電腦上預設的python版本只能只能使用python2.7,所以創建命令要另外使用-p

指定解釋器

$ 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]:
現在可以看到提示符前面多頭了一個

venv,代表虛擬環境創建成功

$ 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.
實踐一下,虛擬環境和實際的環境隔離的

$ source venv/bin/activate
注意不需要使用pip3
(venv) ~/my_project_folder $ ipython3
現在request已經能夠正確使用了

也能夠正確使用了

# 无法使用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'

退出

(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

原理很簡單,就是把系統Python複製一份到virtualenv的環境,用命令

source venv/bin/activate

進入一個virtualenv環境時,virtualenv會修改相關環境變量,令指令python和pip均指向目前的virtualenv環境。

更多Python-Virtualenv 相關文章請上PHP中文網!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn