1. 程式人生 > 其它 >最全的Python虛擬環境使用方法

最全的Python虛擬環境使用方法

最全的Python虛擬環境使用方法

寫在前面

關於Python虛擬環境管理,曾經做為一名新人一直不以為意,心想反正都是我要用的庫,全安裝在一起,要用直接匯入,多好。可是,後來,懂得越來越多的我,不僅流下了悔恨了淚水呀,這一次,關於Python虛擬環境管理的方法一網打盡,喜歡哪種方式,大家自己選吧。再說一次虛擬環境很重要。

一、使用virtualenv

1. 使用pip

pip install virtualenv

2. 建立執行環境

virtualenv [虛擬環境名稱] 
virtualenv venv

#如果不想使用系統的包,加上–no-site-packeages引數
virtualenv  --no-site-packages 建立路徑名

3. 啟用環境

linux:

$ cd venv
$ source ./bin/activate

Windows 10:

> cd venv
> .\Scripts\activate.bat

4. 退出環境

linux:

$ deactivate

Windows 10:

> .\Scripts\deactivate.bat

5. 刪除環境

沒有使用virtualenvwrapper前,可以直接刪除venv資料夾來刪除環境

6. 使用環境

進入環境後,一切操作和正常使用python一樣 安裝包使用pip install 包

二、使用Virtualenvwrapper

Virtaulenvwrapper是virtualenv的擴充套件包,用於更方便管理虛擬環境,它可以做: - 將所有虛擬環境整合在一個目錄下 - 管理(新增,刪除,複製)虛擬環境 - 快速切換虛擬環境

1. 安裝

# on Windows
pip install virtualenvwrapper-win
# on macOS / Linux
pip install --user virtualenvwrapper
# then make Bash load virtualenvwrapper automatically
echo "source virtualenvwrapper.sh" >> ~/.bashrc
source ~/.bashrc

2. 建立虛擬環境

# on macOS/Linux:
mkvirtualenv --python=python3.6 venv
# on Windows
mkvirtualenv --python=python3 venv

3. 啟用環境

workon #列出虛擬環境列表
workon [venv] #切換環境

4. 退出環境

deactivate

5. 刪除環境

rmvirtualenv venv

6. 其他有用指令

pip freeze #檢視當前安裝庫版本
#建立 requirements.txt 檔案,其中包含了當前環境中所有包及 各自的版本的簡單列表
#保持部署相同,一鍵安裝所有包
pip install -r requirements.txt
pip freeze > requirements.txt 
lsvirtualenv    #列舉所有的環境
cdvirtualenv    #導航到當前啟用的虛擬環境的目錄中,相當於pushd 目錄
cdsitepackages   # 和上面的類似,直接進入到 site-packages 目錄
lssitepackages     #顯示 site-packages 目錄中的內容

三、 使用conda管理

conda可以直接建立不同python版本的虛擬環境。前面講的virtualenv只是指定建立不同python版本的虛擬環境,前提是你的電腦上已經安裝了不同版本的python,與conda相比沒有conda靈活。

1. 安裝

下載anaconda安裝的python直接可以使用conda工具

2. 建立虛擬環境

建立不同的python版本,直接寫出版本號就好了,還可以同時安裝想要的庫。

# Python 2.7  
$ conda create -n venv python=2.7  

# Python 3.4  
$ conda create -n venv python=3.4  

# Python 3.5  
$ conda create -n venv python=3.5

3. 啟用虛擬環境

#on windows
activate venv
#on linux
source activate venv

4. 退出虛擬環境

#on windows
deactivate
#on linux
source deactivate

5. 刪除虛擬環境

# 刪除一個已有環境
conda remove --name venv --all

6. 其他有用指令

# 列出系統存在虛擬環境
conda info -e
conda env list

# 檢視當前環境下已安裝的包
conda list

# 檢視某個指定環境的已安裝包
conda list -n venv

# 查詢package資訊
conda search numpy

# 安裝package
conda install -n venv numpy
# 如果不用-n指定環境名稱,則被安裝在當前啟用環境
# 也可以通過-c指定通過某個channel安裝

# 更新package
conda update -n venv numpy

# 刪除package
conda remove -n venv numpy

四. 使用pipenv管理

pipenv是Python官方推薦的包管理工具。 它綜合了 virtualenv , pip 和 pyenv 三者的功能。能夠自動為專案建立和管理虛擬環境。如果你使用過requests庫,就一定會愛上這個庫,因為是同一個大神出品。 pipenv使用 Pipfile 和 Pipfile.lock 來管理依賴包,並且在使用pipenv新增或刪除包時,自動維護 Pipfile 檔案,同時生成 Pipfile.lock 來鎖定安裝包的版本和依賴資訊,避免構建錯誤。相比pip需要手動維護requirements.txt 中的安裝包和版本,具有很大的進步。

1. 安裝

pip install pipenv

2. 建立虛擬環境

$ cd myproject
$ pipenv install # 建立環境
$ pipenv install requests # 或者直接安裝庫

如果不存在pipfile,會生成一個pipfile,並且如果有的庫新增會自動編輯該檔案,不會我們手動更新requirements.txt檔案了。

3. 啟用Pipenv Shell

$ pipenv shell
$ python --version
人生苦短,慢慢瀟灑。 www.zwnsyw.com