這里的環(huán)境,指的就是 Python 代碼的運(yùn)行環(huán)境。它應(yīng)該包含以下信息:
import
所需要的模塊?pip
,那么 pip
命令是在哪里?由于每個項目的情況都可能不一樣,比如這個項目用的是vtk 7.1,另一個項目用的是vtk 9.0。如果不進(jìn)行環(huán)境隔離而是全局安裝,就會導(dǎo)致包的沖突從而出現(xiàn)問題,這個時候讓每個項目都擁有一套獨立的Python環(huán)境,這樣就不會產(chǎn)生沖突了。Python虛擬環(huán)境正是為了解決這個問題而存在的,簡而言之,虛擬環(huán)境就是系統(tǒng) Python 環(huán)境的一個副本。
Python虛擬環(huán)境常見的工具為以下幾種:
virtualenv
venv
pipenv
virtualenv 是目前最流行的 Python 虛擬環(huán)境配置工具。它不僅同時支持 Python2 和 Python3,而且可以為每個虛擬環(huán)境指定 Python 解釋器,并選擇不繼承基礎(chǔ)版本的包。
virtualenv 的優(yōu)點
1. pip 安裝 virtualenv
pip install virtualenv
2. 創(chuàng)建虛擬環(huán)境目錄
mkdir myproject cd myproject
3. 創(chuàng)建一個獨立的Python運(yùn)行環(huán)境: myenv
virtualenv --no-site-packages myenv # --no-site-packages 其意義在于不復(fù)制已經(jīng)安裝到系統(tǒng)Python環(huán)境中的所有第三方包從而得到一個“純凈”的運(yùn)行環(huán)境。
此時當(dāng)前目錄下會生成一個名為:“myenv” 的目錄,該目錄中存放剛生成的虛擬環(huán)境文件
4. 激活虛擬運(yùn)行環(huán)境
# Windows myenv\Scripts\activate.bat # Linux source myenv/bin/activate
以上命令執(zhí)行完后會發(fā)現(xiàn)命令提示符變了,有個(myenv)前綴,表示當(dāng)前環(huán)境是一個名為“myenv”的Python環(huán)境,此時可以在該環(huán)境中按照我們熟悉的方式安裝庫、運(yùn)行程序等
5. 使用deactivate命令退出當(dāng)前的myenv環(huán)境
deactivate
Python 從3.3 版本開始,自帶了一個虛擬環(huán)境 venv,它的很多操作都和 virtualenv 類似,但是兩者運(yùn)行機(jī)制不同。因為是從 3.3 版本開始自帶的,這個工具也僅僅支持 python 3.3 和以后版本。所以,要在 python2 上使用虛擬環(huán)境,依然要利用 virtualenv 。
1. pip安裝venv
# Windows windows中venv已經(jīng)以標(biāo)準(zhǔn)庫的形式存在,不用再單獨安裝 # Linux sudo apt install python3-venv # 如有不同版本的Python3,可指定具體版本venv:python3.5-venv
2. 在當(dāng)前目錄創(chuàng)建一個獨立的Python運(yùn)行環(huán)境: myenv
# Windows py -3 -m venv myenv # Linux python3 -m venv myenv
3. 激活虛擬運(yùn)行環(huán)境
# Windows myenv\Scripts\activate.bat # Linux source myenv/bin/activate
以上命令執(zhí)行完后會發(fā)現(xiàn)命令提示符變了,有個(myenv)前綴,表示當(dāng)前環(huán)境是一個名為“myenv”的Python環(huán)境,此時可以在該環(huán)境中按照我們熟悉的方式安裝庫、運(yùn)行程序等
4. 使用deactivate命令退出當(dāng)前的myenv環(huán)境
deactivate
pipenv 是 Pipfile 主要倡導(dǎo)者、requests 作者 Kenneth Reitz 寫的一個命令行工具,主要包含了Pipfile、pip、click、requests和virtualenv,能夠有效管理Python多個環(huán)境,各種第三方包及模塊。
pipenv 的主要特性:
1. pip安裝pipenv
pip3 install pipenv # 全局安裝,如果只想在當(dāng)前用戶模式下安裝,可添加參數(shù):--user # 更新 pip3 install --user --upgrade pipenv
注: 如果在使用當(dāng)前用戶模式下安裝pipenv后在shell中提示不可用,則需要把用戶庫的目錄“C:\Users\XXX\AppData\Roaming\Python\Python37\Scripts”添加到你的PATH【系統(tǒng)環(huán)境路徑】中,然后重啟電腦,環(huán)境變量生效后即可使用。
2. pipenv創(chuàng)建虛擬環(huán)境說明
pipenv --two # 使用當(dāng)前系統(tǒng)中的Python2 創(chuàng)建環(huán)境 pipenv --three # 使用當(dāng)前系統(tǒng)中的Python3 創(chuàng)建環(huán)境 pipenv --python 3 # 指定使用Python3創(chuàng)建環(huán)境 pipenv --python 3.6 # 指定使用Python3.6創(chuàng)建環(huán)境 pipenv --python 2.7.14 # 指定使用Python2.7.14創(chuàng)建環(huán)境
1)創(chuàng)建環(huán)境時應(yīng)使用系統(tǒng)中已經(jīng)安裝的、能夠在環(huán)境變量中搜索到的Python 版本,否則會報錯。
2)每次創(chuàng)建環(huán)境都會在當(dāng)前目錄下生成一個名為Pipfile文件,用來記錄剛創(chuàng)建的環(huán)境信息,如果當(dāng)前目錄下之前存在該文件,會將其覆蓋。
3)在使用指定版本創(chuàng)建環(huán)境的時候,版本號與參數(shù) --python 之間有個空格。
3. 創(chuàng)建Python3.8環(huán)境
激活虛擬環(huán)境
pipenv shell
環(huán)境經(jīng)激活后,會發(fā)現(xiàn)命令提示符變了(上圖中的“pyTest”前綴,表示生成了名為“pyTest”的虛擬環(huán)境)
4. 其他常用命令
pipenv --where # 顯示目錄信息 pipenv --venv # 顯示虛擬環(huán)境信息 pipenv --py # 顯示Python解釋器信息
pipenv install XXX # 安裝XXX模塊并加入到Pipfile pipenv install XXX==1.11 # 安裝固定版本的XXX模塊并加入到Pipfile
pipenv graph # 查看目前安裝的庫及其依賴 pipenv check # 檢查安全漏洞 pipenv update --outdated # 查看所有需要更新的依賴項 pipenv update # 更新所有包的依賴項 pipenv update package_name # 更新指定的包的依賴項 pipenv uninstall XXX # 卸載XXX模塊并從Pipfile中移除 pipenv uninstall --all # 卸載全部包并從Pipfile中移除 pipenv uninstall --all-dev # 卸載全部開發(fā)包并從Pipfile中移除
退出當(dāng)前虛擬環(huán)境
exit
刪除虛擬環(huán)境
pipenv --rm
5. python 文件的運(yùn)行
# 使用pipenv完整命令運(yùn)行 pipenv run python xxx.py # 在激活環(huán)境中運(yùn)行 pipenv shell python xxx.py
到此這篇關(guān)于簡單介紹Python虛擬環(huán)境及使用方法的文章就介紹到這了,更多相關(guān)Python虛擬環(huán)境內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
標(biāo)簽:六盤水 撫州 迪慶 南寧 牡丹江 楊凌 揚(yáng)州 聊城
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《簡單介紹Python虛擬環(huán)境及使用方法》,本文關(guān)鍵詞 簡單,介紹,Python,虛擬,環(huán)境,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。