天天看點

不同版本的python需要不同的環境嗎_在Ubuntu系統中使用不同版本的Python環境

不同版本的python需要不同的環境嗎_在Ubuntu系統中使用不同版本的Python環境

Ubuntu16.4版本中預設包含python2.7和Python3.5兩個版本,指令行中可以分别使用python和python3來啟動并進入各自環境。

virtualenv用于建立獨立的Python環境,使得多個Python互相隔離,互不影響,它能夠:

在沒有權限的情況下安裝python包

不同應用可以使用不同版本的python包

一個環境下的python包更新不影響其他環境

顧名思義,virtualenvwrapper則是對虛拟環境進行管理,是virtualenv的擴充包,它能夠:

将所有虛拟環境整合在一個目錄下

管理(新增,删除,複制)虛拟環境

切換虛拟環境

對于一台全新的Ubuntu電腦,可能還需要首先安裝pip,即python包管理器,指令如下。1

2sudo apt-get install python-pip

sudo apt-get install python3-pip # 對應python3

之後使用pip安裝virtualenvwrapper。1sudo pip install virtualenvwrapper

注意,系統預設采用python2,是以,如果使用pip3進行安裝,之後會報錯,此處按下不表。

配置virtualenvwrapper

virtualenvwrapper安裝完成之後需要對其進行簡單配置。1

2

3

4

5

6mkdir $HOME/.venvs

sudo vim ~/.bashrc

# 在打開的.bashrc檔案中添加如下2行:

export WORKON_HOME=$HOME/.venvs

source /usr/local/bin/virtualenvwrapper.sh

如果virtualenvwrapper是使用pip3進行安裝,則會報如下錯誤。

1

2

3

4

5

6

7/usr/bin/python: No module named virtualenvwrapper

virtualenvwrapper.sh: There was a problem running the initialization hooks.

If Python could not import the module virtualenvwrapper.hook_loader,

check that virtualenvwrapper has been installed for

VIRTUALENVWRAPPER_PYTHON=/usr/bin/python and that PATH is

set properly.

至此,virtualenvwrapper的安裝和配置告一段落。

使用virtualenvwrapper管理虛拟環境

基于不同的python版本建立虛拟環境1

2

3mkvirtualenv -p /usr/bin/python2 scrapy_py2 # 建立基于python2的虛拟環境scrapy_py2

mkvirtualenv -p /usr/bin/python3 scrapy_py3 # 建立基于python3虛拟環境scrapy_py3

# 如果提示mkvirtualenv權限問題,請檢查$HOME/.venvs檔案所屬的使用者群組。

建立成功之後系統預設進入目前虛拟環境,指令行字首顯示目前虛拟環境名稱。進入虛拟環境之後所有的操作都基于目前python環境,不會對其他python環境産生影響。

其他指令如下所示1

2

3

4workon # 列出所有的虛拟環境

workon scrapy_py2 # 切換到虛拟環境scrapy_py2

deactivate # 退出目前虛拟環境

rmvirtualenv scrapy_py2 # 删除虛拟環境scrapy_py2