如何在整个项目中处理python依赖关系?

2024-04-20 10:42:08 发布

您现在位置:Python中文网/ 问答频道 /正文

假设一个开发人员在开发一个项目时意识到他需要使用一些包。 他用pip来安装它。现在,在安装它之后,开发人员是否会将它作为一个依赖项写在requirements文件setup.py中?在

如果他早就忘了写下这个项目的依赖性,那他会怎么做?在

我要问的是在处理来自PyPi的外部包时的工作流程是什么?在


Tags: pip文件项目pypypi开发人员setup流程
2条回答

命令:

pip freeze > requirements.txt 

将把python环境中当前的所有依赖项复制到要求.txt. http://pip.readthedocs.org/en/latest/reference/pip_freeze.html

这取决于项目。在

如果您正在处理一个库,您需要将您的依赖项放在setup.py中,这样如果您将库放在PyPi上,人们将能够自动安装它及其依赖项。在

如果您正在使用Python开发应用程序(可能是web应用程序),requirements.txt文件将更易于部署。您可以将所有代码复制到需要的地方,使用virtualenv或pyvenv设置一个虚拟环境,然后执行pip install -r requirements.txt。(您也应该为开发而这样做,这样您就不会在全球范围内拥有一个混乱的库)。在

一旦安装了这些软件包,就把它们写到你的requirements.txt上,这比在最后找出你需要的要容易得多。我所做的让我永远不会忘记的是,我先将包写入文件,然后用pip install -r安装。在

pip freeze如果您忘记安装了什么,会有帮助,但您应该始终阅读它创建的文件,以确保您确实需要其中的所有内容。如果你使用的是virtualenv,它会比在全局范围内安装所有软件包带来更好的结果。在

相关问题 更多 >