python虛擬環(huán)境venv、virtualenv配置方式
原理
虛擬環(huán)境是利用了操作系統(tǒng)中環(huán)境變量,以及進(jìn)程間環(huán)境隔離的特性,python就是在激活虛擬環(huán)境的時(shí)候,激活腳本會(huì)將當(dāng)前命令行程序的 PATH 修改為虛擬環(huán)境的,這樣執(zhí)行命令就會(huì)在被修改的 PATH 中查找,避免了找到原本的 PATH ,實(shí)現(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)建一個(gè)名為 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
方法二:
改動(dòng) 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)境
將項(xiàng)目的依賴庫(kù)導(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 # 選這個(gè)
②環(huán)境選擇
new environment using # 創(chuàng)建一個(gè)新的環(huán)境(會(huì)生成一個(gè)venv目錄) 選這個(gè)
Inherit global site-packages # 是否要繼承基礎(chǔ)解析器的第三方庫(kù)
Make available to all project # 是否將這個(gè)虛擬環(huán)境作為默認(rèn)的環(huán)境
existing interpreter # 使用已經(jīng)存在的解釋器
部署虛擬環(huán)境
部署虛擬環(huán)境流程:
①開發(fā)完成后,使用 pip freeze>requirements.txt 命令將項(xiàng)目的庫(kù)依賴導(dǎo)出,作為項(xiàng)目的一部分
②將代碼上傳到服務(wù)器
③在服務(wù)器上創(chuàng)建一個(gè)虛擬環(huán)境
④激活虛擬環(huán)境,執(zhí)行 pip install -r requirements.txt 安裝項(xiàng)目依賴

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

venv內(nèi)含文件含義:
- lib 文件夾下 site-package:包含使用 pip 安裝的依賴項(xiàng)(如request、flask等)。
- scripts文件夾:它包含激活文件(activate)、退出激活文件(deactivate)、pip.exe、python.exe等。
- pyvenv.cfg:可以通過該文件改變虛擬環(huán)境所指向的 PATH(如果創(chuàng)建虛擬環(huán)境后,想要手動(dòng)更改虛擬環(huán)境指向真實(shí)python環(huán)境,也可以通過該文件修改)
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
手把手教你pycharm專業(yè)版安裝破解教程(linux版)
這篇文章主要介紹了 手把手教你pycharm專業(yè)版安裝破解教程(linux版),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09
15個(gè)提升Python程序運(yùn)行速度的實(shí)用技巧
這篇文章主要為大家詳細(xì)介紹了15個(gè)提升Python程序運(yùn)行速度的實(shí)用技巧,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2026-01-01
使用Python操作FTP實(shí)現(xiàn)上傳和下載的方法
今天小編就為大家分享一篇關(guān)于使用Python操作FTP實(shí)現(xiàn)上傳和下載的方法,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2019-04-04
Python?SQLAlchemy庫(kù)的實(shí)現(xiàn)示例
SQLAlchemy庫(kù)是一個(gè)強(qiáng)大的工具,為開發(fā)人員提供了便捷的方式來處理與數(shù)據(jù)庫(kù)的交互,本文主要介紹了Python?SQLAlchemy庫(kù)的實(shí)現(xiàn)示例,具有一定的參考價(jià)值,感興趣的可以了解一下2024-06-06
Python實(shí)現(xiàn)文件壓縮和解壓的示例代碼
這篇文章主要介紹了Python實(shí)現(xiàn)文件壓縮和解壓的方法,幫助大家更好的理解和學(xué)習(xí)python,感興趣的朋友可以了解下2020-08-08
Python3實(shí)現(xiàn)zip分卷壓縮過程解析
這篇文章主要介紹了Python3實(shí)現(xiàn)zip分卷壓縮過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-10-10

