主頁 > 知識(shí)庫 > 簡單介紹Python虛擬環(huán)境及使用方法

簡單介紹Python虛擬環(huán)境及使用方法

熱門標(biāo)簽:檢查注冊(cè)表項(xiàng) 美圖手機(jī) 鐵路電話系統(tǒng) 呼叫中心市場需求 服務(wù)器配置 智能手機(jī) 銀行業(yè)務(wù) 網(wǎng)站文章發(fā)布

一、為什么需要虛擬環(huán)境?

這里的環(huán)境,指的就是 Python 代碼的運(yùn)行環(huán)境。它應(yīng)該包含以下信息:

  • Python 解釋器,用哪個(gè)解釋器來執(zhí)行代碼?
  • Python 庫的位置,該去哪里 import 所需要的模塊?
  • 可執(zhí)行程序的位置,比如說安裝了 pip,那么 pip 命令是在哪里?

由于每個(gè)項(xiàng)目的情況都可能不一樣,比如這個(gè)項(xiàng)目用的是vtk 7.1,另一個(gè)項(xiàng)目用的是vtk 9.0。如果不進(jìn)行環(huán)境隔離而是全局安裝,就會(huì)導(dǎo)致包的沖突從而出現(xiàn)問題,這個(gè)時(shí)候讓每個(gè)項(xiàng)目都擁有一套獨(dú)立的Python環(huán)境,這樣就不會(huì)產(chǎn)生沖突了。Python虛擬環(huán)境正是為了解決這個(gè)問題而存在的,簡而言之,虛擬環(huán)境就是系統(tǒng) Python 環(huán)境的一個(gè)副本。

Python虛擬環(huán)境常見的工具為以下幾種:

  • virtualenv
  • venv
  • pipenv

二、virtualenv

virtualenv 是目前最流行的 Python 虛擬環(huán)境配置工具。它不僅同時(shí)支持 Python2 和 Python3,而且可以為每個(gè)虛擬環(huán)境指定 Python 解釋器,并選擇不繼承基礎(chǔ)版本的包。

virtualenv 的優(yōu)點(diǎn)

  • 使得不同Python應(yīng)用的開發(fā)環(huán)境相互獨(dú)立
  • 開發(fā)環(huán)境升級(jí)不影響其他應(yīng)用的開發(fā)環(huán)境,也不會(huì)影響全局的環(huán)境(默認(rèn)開發(fā)環(huán)境是全局開發(fā)環(huán)境),因?yàn)樘摂M環(huán)境是將全局環(huán)境進(jìn)行私有的復(fù)制,當(dāng)我在虛擬環(huán)境進(jìn)行 pip install 時(shí),只會(huì)安裝到選擇的虛擬環(huán)境中。
  • 它可以防止系統(tǒng)中出現(xiàn)包管理混亂和版本的沖突

1. pip 安裝 virtualenv

pip install virtualenv 

2. 創(chuàng)建虛擬環(huán)境目錄

mkdir myproject
cd myproject

3. 創(chuàng)建一個(gè)獨(dú)立的Python運(yùn)行環(huán)境: myenv

virtualenv --no-site-packages myenv
# --no-site-packages 其意義在于不復(fù)制已經(jīng)安裝到系統(tǒng)Python環(huán)境中的所有第三方包從而得到一個(gè)“純凈”的運(yùn)行環(huán)境。

此時(shí)當(dāng)前目錄下會(huì)生成一個(gè)名為:“myenv” 的目錄,該目錄中存放剛生成的虛擬環(huán)境文件

4. 激活虛擬運(yùn)行環(huán)境

# Windows
myenv\Scripts\activate.bat
 
# Linux
source myenv/bin/activate

以上命令執(zhí)行完后會(huì)發(fā)現(xiàn)命令提示符變了,有個(gè)(myenv)前綴,表示當(dāng)前環(huán)境是一個(gè)名為“myenv”的Python環(huán)境,此時(shí)可以在該環(huán)境中按照我們熟悉的方式安裝庫、運(yùn)行程序等

5. 使用deactivate命令退出當(dāng)前的myenv環(huán)境

deactivate

三、venv

Python 從3.3 版本開始,自帶了一個(gè)虛擬環(huán)境 venv,它的很多操作都和 virtualenv 類似,但是兩者運(yùn)行機(jī)制不同。因?yàn)槭菑?3.3 版本開始自帶的,這個(gè)工具也僅僅支持 python 3.3 和以后版本。所以,要在 python2 上使用虛擬環(huán)境,依然要利用 virtualenv 。

1. pip安裝venv

# Windows
windows中venv已經(jīng)以標(biāo)準(zhǔn)庫的形式存在,不用再單獨(dú)安裝
 
# Linux
sudo apt install python3-venv  # 如有不同版本的Python3,可指定具體版本venv:python3.5-venv

2. 在當(dāng)前目錄創(chuàng)建一個(gè)獨(dú)立的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í)行完后會(huì)發(fā)現(xiàn)命令提示符變了,有個(gè)(myenv)前綴,表示當(dāng)前環(huán)境是一個(gè)名為“myenv”的Python環(huán)境,此時(shí)可以在該環(huán)境中按照我們熟悉的方式安裝庫、運(yùn)行程序等

4. 使用deactivate命令退出當(dāng)前的myenv環(huán)境

deactivate

四、pipenv

pipenv 是 Pipfile 主要倡導(dǎo)者、requests 作者 Kenneth Reitz 寫的一個(gè)命令行工具,主要包含了Pipfile、pip、click、requests和virtualenv,能夠有效管理Python多個(gè)環(huán)境,各種第三方包及模塊。

pipenv 的主要特性:

  • pipenv集成了pip,virtualenv兩者的功能,且完善了兩者的一些缺陷。
  • 過去用virtualenv管理requirements.txt文件可能會(huì)有問題,Pipenv使用Pipfile和Pipfile.lock,后者存放將包的依賴關(guān)系,查看依賴關(guān)系是十分方便。
  • 各個(gè)地方使用了哈希校驗(yàn),無論安裝還是卸載包都十分安全,且會(huì)自動(dòng)公開安全漏洞。
  • 通過加載.env文件簡化開發(fā)工作流程。
  • 支持Python2 和 Python3,在各個(gè)平臺(tái)的命令都是一樣的。

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)境時(shí)應(yīng)使用系統(tǒng)中已經(jīng)安裝的、能夠在環(huán)境變量中搜索到的Python 版本,否則會(huì)報(bào)錯(cuò)。

2)每次創(chuàng)建環(huán)境都會(huì)在當(dāng)前目錄下生成一個(gè)名為Pipfile文件,用來記錄剛創(chuàng)建的環(huán)境信息,如果當(dāng)前目錄下之前存在該文件,會(huì)將其覆蓋。

3)在使用指定版本創(chuàng)建環(huán)境的時(shí)候,版本號(hào)與參數(shù) --python 之間有個(gè)空格。

3. 創(chuàng)建Python3.8環(huán)境

激活虛擬環(huán)境

pipenv shell 

環(huán)境經(jīng)激活后,會(huì)發(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  		# 查看所有需要更新的依賴項(xiàng)
pipenv update 					# 更新所有包的依賴項(xiàng)
pipenv update package_name		# 更新指定的包的依賴項(xiàng)
 
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)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • Python 中如何使用 virtualenv 管理虛擬環(huán)境
  • python中如何使用虛擬環(huán)境
  • python virtualenv虛擬環(huán)境配置與使用教程詳解
  • Python venv虛擬環(huán)境配置過程解析
  • 如何在mac下配置python虛擬環(huán)境
  • 在Mac中配置Python虛擬環(huán)境過程解析
  • Ubuntu20.04安裝Python3的虛擬環(huán)境教程詳解
  • 解決python虛擬環(huán)境切換無效的問題

標(biāo)簽:新疆 河南 上海 滄州 紅河 沈陽 長治 樂山

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《簡單介紹Python虛擬環(huán)境及使用方法》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266