python虛擬環(huán)境venv、virtualenv配置方式
原理
虛擬環(huán)境是利用了操作系統(tǒng)中環(huán)境變量,以及進(jìn)程間環(huán)境隔離的特性,python就是在激活虛擬環(huán)境的時候,激活腳本會將當(dāng)前命令行程序的 PATH 修改為虛擬環(huán)境的,這樣執(zhí)行命令就會在被修改的 PATH 中查找,避免了找到原本的 PATH ,實現(xiàn)了 Python 環(huán)境的隔離。
創(chuàng)建、刪除虛擬環(huán)境
創(chuàng)建虛擬環(huán)境分為兩種:
- python3.3之前,只能通過 virtualenv 創(chuàng)建虛擬環(huán)境
- python3.3之后,可以用模塊 venv 代替 virtualenv 工具
下圖為pycharm中創(chuàng)建的虛擬環(huán)境:

用 virtualenv 創(chuàng)建虛擬環(huán)境:
pip install virtualenv virtualenv venv_1 # 這條命令創(chuàng)建一個名為 venv_1 的虛擬環(huán)境
用 venv 創(chuàng)建虛擬環(huán)境:
python3 -m venv venv_2 # 此處 venv_2 也是自定義的虛擬環(huán)境名字
如果不想在虛擬環(huán)境中下載系統(tǒng)中重復(fù)的包,可以使用該命令:
(允許虛擬環(huán)境訪問 system site packages 目錄,允許使用系統(tǒng)中安裝的第三方包)
方法一:
--system-site-pakage python3 -m venv --system-site-packages
方法二:
改動 venv 目錄下 pyvenv.cfg 文件:
include-system-site-packages=true
看安裝的包來自哪里:
pip list -v
刪除虛擬環(huán)境:
rm -rf 環(huán)境名
venv 命令幫助:
python -m -venv -h
激活、退出、初始化虛擬環(huán)境
如何激活虛擬環(huán)境:
(虛擬環(huán)境創(chuàng)建好后,需激活才能在當(dāng)前的命令行中使用,可以理解成將當(dāng)前命令行環(huán)境 PATH 變量的值替換掉)
(命令行界面)創(chuàng)建好虛擬環(huán)境后,cd 到 venv_2 中,再 cd 到 bin 中,輸入以下命令:
source activate # mac Scripts目錄下activate # windows
退出虛擬環(huán)境:
deactivate
初始化虛擬環(huán)境:
(需要在虛擬環(huán)境父目錄下執(zhí)行該條命令)
python -m venv --clear 環(huán)境名
導(dǎo)出、導(dǎo)入虛擬環(huán)境
將項目的依賴庫導(dǎo)出,作為代碼的一部分:
pip freeze>requirements.txt
導(dǎo)出的內(nèi)容在其他虛擬環(huán)境中可以導(dǎo)入:
pip install -r requirements.txt
pycharm+虛擬環(huán)境
結(jié)合pycharm:
①新建環(huán)境
new project # 選這個
②環(huán)境選擇
new environment using # 創(chuàng)建一個新的環(huán)境(會生成一個venv目錄) 選這個
Inherit global site-packages # 是否要繼承基礎(chǔ)解析器的第三方庫
Make available to all project # 是否將這個虛擬環(huán)境作為默認(rèn)的環(huán)境
existing interpreter # 使用已經(jīng)存在的解釋器
部署虛擬環(huán)境
部署虛擬環(huán)境流程:
①開發(fā)完成后,使用 pip freeze>requirements.txt 命令將項目的庫依賴導(dǎo)出,作為項目的一部分
②將代碼上傳到服務(wù)器
③在服務(wù)器上創(chuàng)建一個虛擬環(huán)境
④激活虛擬環(huán)境,執(zhí)行 pip install -r requirements.txt 安裝項目依賴

pycharm目錄下idea作用
創(chuàng)建環(huán)境時,自動創(chuàng)建的 .idea 作用:
.idea 保存 IDE 需要的和你當(dāng)前項目相關(guān)的一些配置,狀態(tài),比如說,你打開了N個文件,關(guān)了軟件,下次再打開,又給你恢復(fù)到你上次關(guān)閉時的狀態(tài),這些信息就在這里面了(你可以關(guān)閉后把.idea目錄刪掉再打開試試)
pycharm目錄下venv文件內(nèi)容含義

venv內(nèi)含文件含義:
- lib 文件夾下 site-package:包含使用 pip 安裝的依賴項(如request、flask等)。
- scripts文件夾:它包含激活文件(activate)、退出激活文件(deactivate)、pip.exe、python.exe等。
- pyvenv.cfg:可以通過該文件改變虛擬環(huán)境所指向的 PATH(如果創(chuàng)建虛擬環(huán)境后,想要手動更改虛擬環(huán)境指向真實python環(huán)境,也可以通過該文件修改)
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python求算數(shù)平方根和約數(shù)的方法匯總
這篇文章主要介紹了 Python求算數(shù)平方根和約數(shù)的方法匯總的相關(guān)資料,需要的朋友可以參考下2016-03-03
PyTorch 如何將CIFAR100數(shù)據(jù)按類標(biāo)歸類保存
這篇文章主要介紹了PyTorch 將CIFAR100數(shù)據(jù)按類標(biāo)歸類保存的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-05-05
Python使用read_csv讀數(shù)據(jù)遇到分隔符問題的2種解決方式
read.csv()可以從帶分隔符的文本文件中導(dǎo)入數(shù)據(jù),下面這篇文章主要給大家介紹了關(guān)于Python使用read_csv讀數(shù)據(jù)遇到分隔符問題的2種解決方式,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-07-07

