0 寫在前面
- 爲什麼需要python虛擬環境管理?
解決python多版本衝突問題,比如有的工程需要用1.18.1版本的numpy,有的需要1.14.1版本的numpy,尤其是torch這樣版本改動較大的模塊。但是download別人代碼時,系統同時安裝多個版本容易發生錯誤,更要建立虛擬環境運行。
- 虛擬環境方法review
本部分主要參考知乎,大概有四種方法,見下文
1 virtualenv
1.1 安裝
pip3 install virtualenv
1.2 創建環境
首先cd到工程路徑
輸入命令virtualenv venv
就會在當前路徑下生成venv文件夾,這就是虛擬環境所在位置,激活環境之後pip安裝的包都會在‘’venv/site-packages‘’路徑下
如果要指定python版本,可用如下命令,前提是電腦有相應版本:
virtualenv venv --python=python2.7
1.3 激活環境
工程路徑下,輸入source venv/bin/activate
激活環境,一切操作和安裝與正常使用python一樣
1.4 退出環境
輸入deactivate
或者利用終端命令CRTL+D
1.5 刪除環境
直接刪除venv文件夾
1.6 其他操作
-
查看當前安裝的庫
pip3 freeze
-
創建 requirements.txt文件
pip3 freeze > requirements.txt
-
一鍵安裝所有包
pip3 install -r requirements.txt
-
複製環境
直接將venv文件夾複製到另一個工程目錄下
2 virtualenvwrapper
本部分略,自查
3 conda
暫不使用conda,略
4 pipenv
4.0 寫在前面
介紹說是綜合了 virtualenv , pip 和 pyenv 三者的功能,但實際上在國內並不好用,即便換國內源,安裝包以及lock的時候的時候沒有virtualenv快,但優點是隻有Pipfile和Pipfile.lock 兩個文件比較簡便和小巧(virtualenv創建的環境大小上G而pipenv只有幾百k),因此建議運行別人工程時用virtualenv,需要將自己工程推給別人的時候用pipenv。
安裝之前首先要將系統pip換成國內源,參考CSDN
4.1 安裝
pip3 install pipenv
4.2 創建環境
cd到工程目錄
運行pipenv shell
自動生成Pipfile並且進入虛擬環境,此時先把Pipfile中的url = "https://pypi.tuna.tsinghua.edu.cn/simple"
換成國內清華源url = "https://pypi.tuna.tsinghua.edu.cn/simple
然後pipenv lock
生成lock文件
4.3 使用環境
使用pip命令時用pipenv替換,如pip3 install numpy
改爲pipenv install numpy
,其他一樣
4.4 退出環境
終端命令CRTL+D
4.5 刪除環境
pipenv --rm
4.6 其他操作
- 查看當前安裝的庫或者依賴
pipenv graph
- 也可以生成requirements.txt文件
pipenv lock -r --dev > requirements.txt
- 也可以通過requirements.txt安裝包
- 複製環境
將Pipfile和Pipfile.lock兩個文件複製到新的工程路徑下,進入環境後使用pipenv sync
同步即可
pipenv install -r requirements.txt
- 更多細節可參考騰訊雲