使用find_packages()与“的区别要求.txt“为了设置.py临时票据

2024-04-18 14:17:30 发布

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

我一直在研究如何创建设置.py脚本,我见过两种方法。在

1)使用“pip freeze>;要求.txt“命令;然后”packages='要求.txt安装脚本中的“”

2)只需在安装脚本中使用“packages=find_packages()”

我的问题是,这两种方法有什么区别?看起来“find_packages”和“pip freeze”是一样的,但是在安装一个没有模块的模块方面却没有任何作用。在

有人能解释一下这两种方法的区别吗,或者只解释一下每种方法的作用,这样我就可以更明智地决定使用哪种方法了?在

谢谢!在


Tags: 模块pip方法py命令gttxt脚本
1条回答
网友
1楼 · 发布于 2024-04-18 14:17:30

use "pip freeze > requirements.txt" command; then "packages='requirements.txt'" in the setup script

即使假设你所说的packages='requirements.txt'是指packages=open('requirements.txt').read().splitlines(),这绝对是错误的做法,我希望你只是误读了你所咨询的任何来源,而不是如此明显的错误信息实际上张贴在某处。在

setup()函数的packages关键字的目的是告诉setuptools在分发和安装项目时,存储库中的Python代码的目录是什么。对于大多数简单的情况,packages=find_packages()就是您所需要的。在

另一方面,requirements.txt应该包含你的项目所依赖的其他人的项目列表(它应该是真正手工制作的,而不是像一只被切除了脑叶的黑猩猩一样将pip freeze重定向到其中)。要将其内容传递给的正确的setup()关键字是install_requires,这就是为什么每当有人安装您的项目时,也会安装项目的依赖项。在

相关问题 更多 >