Python包管理利器 pipenv

2021-09-03 03:34:54 字數 2693 閱讀 5142

pipenv

requests庫作者kenneth reitz開發的,它結合了pip及virtualenv的功能和優點,其目的是替代virtualenvpyenv,將pipvirtualenv的功能集於一身。

儘管 pip 可以安裝 python 包,但仍推薦使用pipenv,因為它是一種更高階的工具,可簡化依賴關係管理的常見使用情況。如果還沒有使用過pipenv的童鞋,趕緊試試吧!

pipenv

的安裝依賴 pip,如果沒有配置好pip,安裝

pipenv

還是有點麻煩的。如果配置好了pip的環境變數,在任意目錄下都可以使用下面的命令安裝

pip install

pipenv

命令名

命令建立

pipenv

pipenv

啟動

pipenv

pipenv

shell(若未存在虛擬環境會自動建立)

退出

pipenv

exit

查詢所有安裝包

pip list

環境內包的依賴展示

pipenv

graph

查詢虛擬環境的路徑

pipenv

--venv

解除安裝安裝包

pipenv

uninstall

將目錄更改為包含你的python專案的資料夾,並啟動

pipenv

cd my_project

pipenv

install

這將在專案目錄中建立兩個新檔案:pipfilepipfile.lock,如果專案不存在,則為專案建立乙個新的虛擬環境。pipfile包含關於專案的依賴包的資訊,並取代通常在python專案中使用的requirements.txt檔案。

在上圖中,使用了mkdir建立了資料夾pyproject,之後進入這個資料夾使用pipenv

install建立了虛擬環境。

由於預設的python版本是3的,所以建立的虛擬環境是py3。如果需要使用py2的話,可以新增引數進行建立。

pipenv

install - -two

pipenv

shell

啟用後,可以看到控制台輸入那裡已經標明虛擬環境了

建立虛擬環境後,進入pipfile所在目錄,使用install命令安裝第三方庫。 例如

pipenv

install requests

可以把

pipenv

當作pip來使用。它無需像virtualenv那樣需要額外的先啟動虛擬環境。

pipenv

區分你是在給哪個虛擬環境安裝,依賴的是pipfile檔案的位置。

凍結就相當於將專案所使用的第三方庫列表進行打包輸出,類似於的virtualenv中生成requirements.txt檔案。

通過更新pipfile.lock來凍結庫名稱及其版本,以及其依賴關係的列表需要使用鎖引數:

pipenv

lock

如果另乙個使用者拷貝了你的專案,他們只需要安裝

pipenv

,然後:

pipenv

install

pipenv

會在專案資料夾下自動尋找pipfile和pipfile.lock檔案,建立乙個新的虛擬環境並安裝必要的軟體包。

如果你在做web專案就會體會到

pipenv

的便利。一些包只支援py2,所以必須使用python2,而現在都2023年了,大部分人都習慣py3了,所以用

pipenv

建立虛擬環境能夠避免混亂,而且

pipenv

也比其他的一些管理工具更加人性化一點。

更多詳細指令可以直接輸入pipenv檢視

或者檢視官方

文件:https://

pipenv

.readthedocs.io/en/latest/

python包管理 關於python包管理

有著41個物件 檔案或者資料夾 1 其中linester 1.0.0 py2.7.egg info檔案 是安裝mynester跟yournester的資訊總結,他們使用了python setup.py install 的安裝方式。學會使用distutils發布包,見文章 但是在linester 1....

Python 包管理器

剛開始學習python時,在看文件和別人的blog介紹安裝包有的用easy install,setuptools,有的使用pip,distribute,那麼這幾個工具有什麼關係呢,看一下下面這個圖就明白了 可以看到distribute是setuptools的取代,pip是easy install的取...

python 包管理和virturlenv

python當前的包管理工具鏈是 easy install pip distribute setuptools distutils,顯得較為混亂。而將來的工具鏈組合非常簡單 pip distutils2。1 distutils python 自帶的基本安裝工具,適用於非常簡單的應用場景,使用 2 s...