參考 https://blog.csdn.net/file_data/article/details/105408938
一、查詢python解釋器所在路徑
以下查詢py3和py2的目錄:
$ which python3
/usr/bin/python3
$ which python2
/usr/bin/python2
二、安裝python虛擬運行環境
pip安裝(有sudo權限)
$ sudo pip3 install virtualenvwrapper
$ sudo pip3 install virtualenvwrapper
pip安裝(沒有sudo權限)
$ pip3 install virtualenvwrapper
$ pip3 install virtualenvwrapper
上述工具裝好后,需要執行以下環境變量設置。
1.創建目錄用來存放虛擬環境
mkdir $HOME/.virtualenvs
2.在~/.bashrc中,最后添加這么幾行:(有sudo權限)
export WORKON_HOME=$HOME/.virtualenvs VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3 source /usr/bin/virtualenvwrapper.sh
2.在~/.bashrc中,最后添加這么幾行:(沒有sudo權限)
# yyq virtualenvwrapper 配置 export PATH=$HOME/.local/bin:$PATH export WORKON_HOME=$HOME/.virtualenvs VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3 source $HOME/.local/bin/virtualenvwrapper.sh
3.運行:
source ~/.bashrc
4.如果報錯
-bash: /usr/local/bin/virtualenvwrapper.sh: No such file or directory
說明文件沒在這個路徑下
可以通過which 命令查看(which是用來查看當前要執行的命令所在的路徑)(有sudo權限)
$ which virtualenvwrapper.sh
/usr/local/bin/virtualenvwrapper.sh
(沒有sudo權限)
一般在 這個位置下
$HOME/.local/bin/
5.重新修改 ~/.bashrc內容為以下內容(有sudo權限)
export WORKON_HOME=$HOME/.virtualenvs VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3 source /usr/local/bin/virtualenvwrapper.sh
5.重新修改 ~/.bashrc內容為以下內容(沒有sudo權限)
# yyq virtualenvwrapper 配置 export PATH=$HOME/.local/bin:$PATH export WORKON_HOME=$HOME/.virtualenvs VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3 source $HOME/.local/bin/virtualenvwrapper.sh
6.然后重新運行以下命令
$ source ~/.bashrc
三、創建python虛擬環境
當你需要使用Python2開發項目時,建立一個Python2的虛擬環境:
$ mkvirtualenv -p /usr/bin/python2.7 env27
當你需要Python3開發時:
$ mkvirtualenv -p /usr/bin/python3.7 env37
然后可以隨時切換不同的虛擬環境:
$ workon env27 # 進入Python2環境
$ workon env37 # 進入Python3環境
注意:
進入虛擬環境后,直接輸入python命令后,對應的就是當前環境的Python版本.
比如:
workon env37 # python -V # Python 3.6.*
workon env27 # python -V # Python 2.9.*
另外:
不僅可以自由切換py2和py3,同一個版本下還可以配置不同的依賴,pip不同的包,來適應不同項目的需求。
更爽的是,你可以在進入虛擬環境的同時切換到項目目錄,只需要編輯 $VIRTUAL_ENV/bin/postactivate 這個文件即可:
$ vim $VIRTUAL_ENV/bin/postactivate #前提是已經進入對應的虛擬環境
在文件中添加切換目錄的命令:
cd /path/to/your/project
四、退出虛擬環境
deactivate