我想用这个管理依赖模块的小型Python项目: http://blog.zoomeranalytics.com/pip-install-t/
简而言之,我会这样做:
cd myproject
pip install --target ./pip-libs --upgrade -r requirements.txt
然后将./pip-libs添加到PYTHONPATH并运行我的脚本。
这似乎但我喜欢使用pip冻结,它不允许我做任何像
这样的事情 pip freeze --target pip-libs
查看文件夹中安装的软件包。当然,我可以看看里面,但是使用--target显示安装在文件夹中的软件包的标准方法是什么?我能想到的唯一方法就是做ls
pip-libs然后玩grep,awk ......看起来不对。
我不确定是否有办法,也许这不是一个好主意,或者我应该为pip请求这样的功能。
Python 2.7.9。
答案 0 :(得分:3)
不幸的是,你无法用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
答案 1 :(得分:1)
参加聚会有点晚,但我遇到了同样的问题,这似乎可以解决。
pip freeze --path ./pip-libs > requirements.txt
答案 2 :(得分:1)
pip freeze --path [path location]
对于当前文件夹:
pip freeze --path .
答案 3 :(得分:0)
这应该有效
PYTHONPATH=./pip-libs pip freeze