Python虛擬環(huán)境virtualenv是如何使用的
了解虛擬環(huán)境
如果在一臺機(jī)器上,想開發(fā)多個(gè)不同的項(xiàng)目,需要用到同一個(gè)包的不同版本,如果還使用上面的命令,在同一個(gè)目錄下安裝或者更新,其它的項(xiàng)目必須就無法運(yùn)行了,怎么辦呢?
解決方案:虛擬環(huán)境
那么什么是虛擬環(huán)境呢?
虛擬環(huán)境其實(shí)就是對真實(shí) python 環(huán)境的復(fù)制,這樣我們在復(fù)制的 python 環(huán)境中安裝包就不會(huì)影響到真實(shí)的python環(huán)境。通過建立多個(gè)虛擬環(huán)境,在不同的虛擬環(huán)境中開發(fā)項(xiàng)目就實(shí)現(xiàn)了項(xiàng)目之間的隔離。
虛擬環(huán)境庫的安裝
我們這里使用 virtualenv 來創(chuàng)建虛擬環(huán)境。
pip 默認(rèn)的源安裝第三庫會(huì)有點(diǎn)慢,可以配置一下其他的鏡像源。
Windows上安裝
在 cmd 窗口查看系統(tǒng)是否安裝了virtualenv
:
virtualenv --version
pip 安裝 virtualenv
pip3 install virtualenv pip3 install virtualenvwrapper-win
virtualenvwrapper-win
虛擬環(huán)境擴(kuò)展包(指令便捷)
虛擬環(huán)境創(chuàng)建
在 cmd窗口 下創(chuàng)建 python3 虛擬環(huán)境 py_django
:
mkvirtualenv -p python3 py_django
注意:
Windows 創(chuàng)建的虛擬環(huán)境默認(rèn)在 C:\Users\Administrator\Envs
, Administrator 代表我當(dāng)前電腦使用的用戶你們的可能在其他用戶下,如需指定創(chuàng)建的虛擬環(huán)境的存放的路徑,可以在電腦的系統(tǒng)環(huán)境變量中添加WORKON_HOME
系統(tǒng)變量
Linux上安裝
安裝虛擬環(huán)境
sudo pip3 install virtualenv sudo pip3 install virtualenvwrapper
需保證 Linux
上有 Python3
的環(huán)境。
安裝完虛擬環(huán)境后輸入如下指令測試
mkvirtualenv test
如果提示找不到mkvirtualenv
命令,須配置環(huán)境變量
# 1、創(chuàng)建目錄用來存放虛擬環(huán)境 mkdir $HOME/.virtualenvs # 2、打開~/.bashrc文件 vim ~/.bashrc # 2.1 添加如下兩行 export WORKON_HOME=$HOME/.virtualenvs source /usr/local/bin/virtualenvwrapper.sh # 3、運(yùn)行 source ~/.bashrc
WORKON_HOME
存放虛擬環(huán)境目錄位置可以自己單獨(dú)設(shè)置。
創(chuàng)建虛擬環(huán)境
mkvirtualenv py_flask
進(jìn)入虛擬環(huán)境
workon py_flask
退出虛擬環(huán)境
如果所在環(huán)境為真實(shí)環(huán)境,會(huì)提示deactivate
:未找到命令
deactivate py_flask
虛擬環(huán)境指令
Windows 和 Linux 平臺上的指令都一致。
注意:
先退出:deactivate 再刪除:rmvirtualenv 虛擬環(huán)境名稱
虛擬環(huán)境總結(jié)
一、使用虛擬環(huán)境不會(huì)讓主解釋器好多庫亂
二、例如在單獨(dú)的虛擬環(huán)境下安裝 Flask,就知道在后續(xù)開發(fā)中所使用的所有庫,用pip freeze
命令就知道你的項(xiàng)目需要什么環(huán)境,而在主解釋器有好多項(xiàng)目沒用到的庫。使用虛擬環(huán)境到部署到服務(wù)器上則方便環(huán)境配置,不需要一個(gè)一個(gè)篩選所需庫。
在虛擬環(huán)境中利用
pip freeze
查看項(xiàng)目所需庫環(huán)境。pip freeze > requirements.txt
導(dǎo)出項(xiàng)目所需庫信息。pip install -r requirements.tx
批量安裝項(xiàng)目所需庫。
三、在同一臺機(jī)器上開發(fā)多個(gè)項(xiàng)目,而遇到項(xiàng)目所需同一庫的版本不一致。因此使用虛擬環(huán)境讓每個(gè)項(xiàng)目獨(dú)立隔離出來,可以單獨(dú)使用不同版本庫。
到此這篇關(guān)于Python虛擬環(huán)境virtualenv是如何使用的的文章就介紹到這了,更多相關(guān)Python虛擬環(huán)境virtualenv內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python的Flask框架開發(fā)驗(yàn)證碼登錄的實(shí)現(xiàn)
在本文我們介紹了如何使用Python的Flask框架開發(fā)一個(gè)簡單的驗(yàn)證碼登錄功能,將涵蓋生成驗(yàn)證碼、處理用戶輸入、驗(yàn)證驗(yàn)證碼以及實(shí)現(xiàn)安全的用戶認(rèn)證等方面,感興趣的可以了解一下2023-11-11Python獲取、格式化當(dāng)前時(shí)間日期的方法
在本篇文章里小編給大家整理的是關(guān)于Python獲取、格式化當(dāng)前時(shí)間日期的方法,對此有需要的朋友們可以學(xué)習(xí)參考下。2020-02-02Python中實(shí)現(xiàn)結(jié)構(gòu)相似的函數(shù)調(diào)用方法
這篇文章主要介紹了Python中實(shí)現(xiàn)結(jié)構(gòu)相似的函數(shù)調(diào)用方法,本文講解使用dict和lambda結(jié)合實(shí)現(xiàn)結(jié)構(gòu)相似的函數(shù)調(diào)用,給出了不帶參數(shù)和帶參數(shù)的實(shí)例,需要的朋友可以參考下2015-03-03Python使用正則表達(dá)式報(bào)錯(cuò):nothing?to?repeat?at?position?0的解決方案
今天在使用python 正則模塊匹配字符串時(shí)遇到了這個(gè)問題,分享給大家,這篇文章主要給大家介紹了關(guān)于Python使用正則表達(dá)式報(bào)錯(cuò)nothing?to?repeat?at?position?0的解決方案,需要的朋友可以參考下2023-03-03PyQt5中QSpinBox計(jì)數(shù)器的實(shí)現(xiàn)
這篇文章主要介紹了PyQt5中QSpinBox計(jì)數(shù)器的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01聯(lián)邦學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)FedAvg算法實(shí)現(xiàn)
這篇文章主要為大家介紹了聯(lián)邦學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)FedAvg算法實(shí)現(xiàn),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05