簡體   English   中英

使用 --target 安裝的軟件包的 Pip 凍結

[英]Pip freeze for packages installed with --target

我想使用這種管理依賴模塊的方式用於小型 Python 項目: http : //blog.zoomeranalytics.com/pip-install-t/

簡而言之,我會這樣做:

cd myproject

pip install --target ./pip-libs --upgrade -r requirements.txt

然后將 ./pip-libs 添加到 PYTHONPATH 並運行我的腳本。

這似乎但我喜歡使用 pip freeze 並且它不允許我做任何類似的事情

pip freeze --target pip-libs

查看安裝在文件夾中的軟件包。 當然,我可以看看里面,但是使用 --target 顯示安裝在文件夾中的包的標准方法是什么? 我能想到的唯一方法是做ls of pip-libs 然后玩 grep, awk ... 似乎不對。

我不確定是否有辦法,也許這不是一個好主意,或者我應該為 pip 請求這樣的功能。

蟒蛇 2.7.9。

聚會有點晚了,但我遇到了同樣的問題,這似乎解決了它。

pip freeze --path ./pip-libs > requirements.txt

不幸的是,你不能用pip freeze做到這pip freeze 文檔說pip install安裝到該目標文件夾中,但它仍在您的路徑中。 所以pip freeze只顯示安裝了哪些包,而不是在特定位置安裝了哪些包。

你可以看一下pip show其確實包含上安裝了他們的信息(見https://pip.pypa.io/en/stable/reference/pip_show/ ),但你會寫一些SED / AWK或類似的做在“位置”行上使用 grep 然后返回並獲取包名稱。

另一種選擇是只查看安裝文件夾中的文件夾,然后手動找出包的來源......類似:

ls ./pip-libs | grep -v .dist-info

這應該工作

PYTHONPATH=./pip-libs pip freeze
pip freeze --path [path location]

對於當前文件夾:

pip freeze --path .

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM