virtualenv在Ubuntu18.10(64位)中的用法(命令和图形化建立虚拟环境)
virtualenv吃系統版本,所以系統python3.6的對應的最高版本為ubuntu18.10
且celery部分功能不支持python3.7
而anaconda3太占用空間.
所以不要使用太新的系統
?
apt-get install python2.7 python2.7-dev
先安裝必要的包
apt-get install virtualenv? virtualenvwrapper
這兩條命令結束后,下面的一律退出root權限,普通user賬戶下操作即可。
然后
?
下面是非root用戶操作,注意,這里不要急著去~/.pip下面增加pip.conf文件,會導致后面步驟報錯的。
source /usr/share/virtualenvwrapper/virtualenvwrapper.sh(也可以不source,直接另外一個開一個終端即可)
?
注意,上面這個命令中,source這個文件在不同的Linux系統的位置是不同的,不能照搬,
以上路徑僅僅是針對Ubuntu18.10(64位)的
?
上面的命令如果失敗,那么下面的mkvirtualenv將會無法運行,運行下面命令用來創建3.6的虛擬環境,下面命令中的第二個python2.7是虛擬環境對應的文件夾的名字,可以自己換,
?
第一個python2.7不可以換。(下面的命令必須是上面source成功或者另外開一個終端但是自動生效的前提下)
mkvirtualenv -p /usr/bin/python2.7 python2.7
deactivate
mkvirtualenv -p /usr/bin/python3.6?python3.6
解釋器來自/usr/bin/python3.6
安裝結束后,終端會變成這樣子:
(python3.6) appleyuchi@ubuntu19:~/.virtualenvs$
前面的(python3.6) 代表已經進入了虛擬環境
輸入pip -V得到:
pip 9.0.1 from /home/appleyuchi/.virtualenvs/python3.6/lib/python3.6/site-packages (python 3.6)
然后就可以非root下安裝tensorflow了
同樣地,先輸入命令deactivate,用來離開(python3.6) 這個虛擬環境,
然后用以下命令安裝2.7的虛擬環境
mkvirtualenv -p /usr/bin/python2.7 python2.7,同樣地,安裝結束后,會變成:
(python2.7) appleyuchi@ubuntu19:~/.virtualenvs$
同樣地,輸入deactivate可以離開虛擬環境
那么這個時候兩個虛擬環境都安裝好了,那么,平時剛啟動系統進入linux,如何在終端中使用虛擬環境呢?
如果要使用2.7版本的python,那么
cd /home/appleyuchi/.virtualenvs/python2.7/bin
source activate
然后使用pip也好,python也好都是2.7版本的
如果想退出虛擬環境,那么輸入deactivate就可以了
好了,現在如果想使用3.6版本的python,那么
cd /home/appleyuchi/.virtualenvs/python3.7/bin
source activate
即可,
然后在終端輸入python或者pip -V
會發現都是3.6版本的
退出虛擬環境后,輸入python會變成系統默認python,輸入pip會報錯,command not found,這個是正常的,因為沒有進入虛擬環境。
?
?
總結:
進入python虛擬環境需要使用source activate文件
需要使用哪種python的虛擬環境就source該虛擬環境的activate文件,
退出虛擬環境需要使用 deactivate命令
每次在終端下安裝各種package(可以說他是庫,也可以說他是包),先進入虛擬環境,然后再安裝,這樣就不需要root權限了。
當然,也可以在pycharm中直接安裝各種package
?
?
效果圖:
?
?
?
?
注意事項:
使用douban的pip源,盡量不要使用aliyun的源,有一定幾率報錯.
盡量確保pip處于最新版本,不然會出現莫名其妙的問題。
另外,可以使用圖形化操作,圖形化建立虛擬環境,沒必要像上面那樣敲命令,如下圖:
?
一些意外情況的處理,例如:
python virtualenv部署到目標機器,在virtualenv虛擬環境下使用python,pip命令依然指向系統命令
也就是說,進入了虛擬環境,用的pip卻不是虛擬環境的,仍然是系統的pip
這個在中問的stackflow上似乎沒有好的解決方案
我的解決辦法是:
(python3.6) appleyuchi@ubuntu:~/.virtualenv$ rm -r python3.6
(python3.6) appleyuchi@ubuntu:~/.virtualenv$ mkvirtualenv -p /usr/bin/python3.6?python3.6
?
效果如下:
(python2.7) appleyuchi@ubuntu:~/.virtualenvs$ pip -V
pip 9.0.1 from /home/appleyuchi/.virtualenvs/python2.7/local/lib/python2.7/site-packages (python 2.7)
(python2.7) appleyuchi@ubuntu:~/.virtualenvs$ deactivate
appleyuchi@ubuntu:~/.virtualenvs$ cd python3.6
appleyuchi@ubuntu:~/.virtualenvs/python3.6$ cd bin
appleyuchi@ubuntu:~/.virtualenvs/python3.6/bin$ source activatge
-bash: activatge: No such file or directory
appleyuchi@ubuntu:~/.virtualenvs/python3.6/bin$ source activate
(python3.6) appleyuchi@ubuntu:~/.virtualenvs/python3.6/bin$ pip -V
pip 9.0.1 from /home/appleyuchi/.virtualenvs/python3.6/lib/python3.6/site-packages (python 3.6)
(python3.6) appleyuchi@ubuntu:~/.virtualenvs/python3.6/bin$
?
總結
以上是生活随笔為你收集整理的virtualenv在Ubuntu18.10(64位)中的用法(命令和图形化建立虚拟环境)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python查询天气
- 下一篇: Ubuntu16.04(64位)下安装和