一般我們創(chuàng)建 Python 項(xiàng)目的時(shí)候都會(huì)創(chuàng)建一個(gè)虛擬環(huán)境,這樣做的好處就是會(huì)把項(xiàng)目環(huán)境和操作系統(tǒng)環(huán)境區(qū)分開來,避免把操作系統(tǒng)環(huán)境弄亂。
還有一個(gè)痛點(diǎn)就是我們?cè)陂_發(fā)環(huán)境開發(fā)完成之后,需要把代碼復(fù)制到生產(chǎn)環(huán)境上線,這時(shí)候我不想將開發(fā)環(huán)境的所有包重新在 pip install 一次了,怎么辦?
于是 pipenv 應(yīng)運(yùn)而生。見名識(shí)意,pipenv 就是 pip 和 virtualenv 的結(jié)合體。
安裝
直接使用 pip3 進(jìn)行安裝即可。
pip3 install pipenv
創(chuàng)建虛擬環(huán)境
$ mkdir demo
$ cd demo
$ pipenv install
安裝完成之后會(huì)在你的項(xiàng)目目錄自動(dòng)生成 Pipfile 和 Pipfile.lock 兩個(gè)文件,他們主要是用來管理包的。不信,我們用 pipenv 安裝下 requests 庫試一下。
$ pipenv install requests
咱們來看下 Pipfile 和 Pipfile.lock 的內(nèi)容。
# Pipfile
[[source]]
url = “https://pypi.org/simple”
verify_ssl = true
name = “pypi”
[packages]
requests = “*”
[dev-packages]
[requires]
python_version = “3.8”
# Pipfile.lock
{
省略部分信息
“default”: {
“requests”: {
“hashes”: [
“sha256:27973dd4a.。.”,
“sha256:c210084e3.。.”
],
“index”: “pypi”,
“version”: “==2.25.1”
},
省略部分信息
},
“develop”: {}
}
Pipfile 列出了 requests 庫的信息和 Python 版本信息,細(xì)心的你可能發(fā)現(xiàn)了,該文件中還有一個(gè) dev-packages 的信息,安裝時(shí)如果指定 -dev 參數(shù),那么就會(huì)記錄在 dev-packages 下面。而 Pipfile.lock 則保存了庫的哈希值,這是確保生產(chǎn)環(huán)境和開發(fā)環(huán)境庫信息一致的關(guān)鍵。
當(dāng)你把項(xiàng)目從開發(fā)環(huán)境復(fù)制到生產(chǎn)環(huán)境之后,只需要執(zhí)行 pipenv install 就可以了,無需在重新安裝之前在開發(fā)環(huán)境安裝的包了,是不是很省心。
其他命令
進(jìn)入虛擬環(huán)境:
$ pipenv shell
退出虛擬環(huán)境:
$ exit
安裝庫:
$ pipenv install xxx
刪除庫:
# 刪除指定庫
$ pipenv uninstall xxx
# 刪除所有庫
$ pipenv uninstall --all
升級(jí)庫:
$ pipenv update
查看庫的具體信息:
$ pipenv open xxx
獲取本地工程路徑:
$ pipenv --where
獲取虛擬環(huán)境路徑:
$ pipenv --venv
檢查庫的依賴關(guān)系,這個(gè)非常有用。
$ pipenv graph
檢查庫的安全性:
$ pipenv check
刪除虛擬環(huán)境:
$ pipenv --rm
總結(jié)
今天我們介紹了 Python 虛擬環(huán)境 pipenv 的使用,好的工具可以事半功倍,希望對(duì)小伙伴們有所幫助。
責(zé)任編輯:haq
-
虛擬
+關(guān)注
關(guān)注
0文章
199瀏覽量
23978 -
python
+關(guān)注
關(guān)注
56文章
4827瀏覽量
86760
原文標(biāo)題:最好用的 Python 虛擬環(huán)境,沒有之一
文章出處:【微信號(hào):gh_3980db2283cd,微信公眾號(hào):開關(guān)電源芯片】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
linux虛擬環(huán)境中調(diào)用Linux 版matlab編譯的python庫時(shí)出錯(cuò)
完整符合服務(wù)器需求的虛擬化解決方案X100+AIA+IOMMU

迅為RK3588開發(fā)板RKLLM-Toolkit 環(huán)境搭建安裝 Miniconda
基于云端虛擬化技術(shù)云手機(jī)解決方案

【幸狐Omni3576邊緣計(jì)算套件試用體驗(yàn)】車牌識(shí)別
?如何在虛擬環(huán)境中使用 Python,提升你的開發(fā)體驗(yàn)~

評(píng)論