使用python虛擬環境

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
  • 更多細節可參考騰訊雲
發佈了64 篇原創文章 · 獲贊 21 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章