[英]pip freeze without dependencies of installed packages
當我執行pip freeze
我會得到我明確安裝的包以及那些依賴於這些包的包。
例如:
$ pip install fabric
...
$ pip freeze
Fabric==1.0.1
paramiko==1.7.6
pycrypto==2.3
好的,但后來我開始在另一個環境中使用pip install
安裝這個 requirements.txt 我會得到相同的結果,刪除最后兩行。
所以我的問題是:我怎樣才能創建最簡化的 requirements.txt 而不顯示所有可計算的依賴項?
現在有(免責聲明:我做到了)。
您只需要從 PyPI 安裝pip-chill
並從 Python 環境運行pip-chill
。
如果您喜歡冒險並且不想固定版本(或想使用 pip-compile),您可以使用pip-chill --no-version
,它會給您當前環境的最低要求。
沒有辦法用 pip 創建“最簡化的 requirements.txt”——我不知道在這種情況下你是否需要它。
將所有包都放在 requirements.txt 中是很好的,因為您確定哪些依賴項版本適用於您的環境。
考慮 paramiko 得到更新,並打破向后兼容性:你會遇到問題。
pipdeptree是另一種選擇。
它生成完整的 requirements.txt(使用pipdeptree -f
),如下所示:
jupyter==1.0.0
ipykernel==5.4.3
ipython==7.19.0
backcall==0.2.0
decorator==4.4.2
jedi==0.17.2
parso==0.7.1
該文件有兩個用途:
pip install
;grep '^\\w' requirements.txt
一起用作開發人員友好的包列表(如由pip-chill
創建的包列表)。我認為刪除版本的簡單方法是在運行 pip freeze 后 cut -d"=" -f 1。
pip3 freeze | cut -d"=" -f1
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.