5ni*_*ard 3 python pip setuptools python-packaging
我一直在将python项目打包,以便可以在实验室中的其他系统上安装它。在有关如何创建setup.py脚本的研究中,我看到了两种方法。
1)使用“ pip Frozen> requirements.txt”命令;然后在安装脚本中输入“ packages ='requirements.txt'”
2)只需在安装脚本中使用“ packages = find_packages()”
我的问题是,这两种方法有什么区别?似乎“ find_packages”与“ pipfreeze”功能相同,但是在没有模块安装的地方没有任何作用。
谁能解释这两种方法的不同之处,或者只是解释每种方法的作用,这样我就可以更明智地决定使用哪种方法?
谢谢!
使用“冻结冻结> requirements.txt”命令;然后在安装脚本中输入“ packages ='requirements.txt'”
即使假设是packages='requirements.txt'您的意思packages=open('requirements.txt').read().splitlines(),这绝对是错误的事情,而且我希望您只是误读了所查阅的任何资源,而不是在某处实际张贴了如此公然的错误信息。
该函数的packages关键字的目的setup()是告诉setuptools您在分发和安装项目时要在存储库中包含Python代码的哪些目录。对于大多数简单的情况,这packages=find_packages()就是您所需要的。
requirements.txt另一方面,应该包含您的项目所依赖的其他人的项目的列表(并且它实际上应该是手工制作的,而不是pip freeze像黑猩猩一样重定向到其中)。setup()将其内容传递给的正确关键字是install_requires,这是导致有人安装您的项目时也会安装项目的依赖项的原因。
| 归档时间: |
|
| 查看次数: |
1004 次 |
| 最近记录: |