列出在其他地方部署工作项目所需的所有依赖项(比如说在不同的操作系统上)的最有效方法是什么?
Python 2.7,Windows开发环境,不是每个项目使用virtualenv,而是全局开发环境,根据需要安装库,愉快地从一个项目跳到下一个项目.
我已经跟踪了我必须为给定项目安装的大多数(不确定所有)库.我没有跟踪自动安装它们的任何子依赖项.做pip freeze
列表,以及所有其他已安装的库.
有没有办法列出您需要安装的内容,不多也不少,以便部署项目?
注意:无法想象这已经没有Q + A,但我找不到它.
编辑鉴于以下答案,一些澄清.我的项目由一堆模块(我写的)组成,每个模块都有一堆import
s.我是否应该将所有模块中的所有导入复制粘贴到一个文件中,排序消除重复,并从标准库中丢弃所有(以及我怎么知道它们)?或者,还有更好的方法?这就是问题所在.
我最近发现自己不得不在没有互联网连接的机器上安装 python 项目的所有依赖项(20+)。我曾经pip download ...
获取所有*.whl
文件并手动传输它们。直到现在我才完全欣赏 pip 的天才,以及它如何自行计算依赖树并设法以正确的顺序安装每个包。例如,包依赖于requests
包,而包本身又依赖于urllib3
包等等。
我想要一种使用命令控制台或 python 本身在机器上安装所有这些依赖项的自动化方式,所以我转向 StackOverflow 并找到了这些解决方案: 如何在 cmd 中安装多个 whl 文件
几乎所有建议的解决方案都对我有用,但缺点是必须多次运行它们,直到不再安装失败!这是由于脚本/命令按字母顺序对软件包进行排序并尝试按该顺序安装它们(例如,在到位requests
之前尝试安装urllib3
)。
有没有更聪明的方法来做到这一点,只按时执行脚本/命令?