为什么要运行setup.py,我可以直接嵌入代码吗?

2024-10-02 14:28:29 发布

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

我正在编写一个clipython应用程序,它依赖于一些库(Paramiko等)。 如果我下载它们的源代码并将它们放在我的主应用程序源代码下,我就可以导入它们,一切正常。 为什么我要管理他们设置.py还是python包安装人员处理?在

我知道在部署服务器端应用程序时,管理员可以运行easy_install/pip命令等来安装prerequsite,但是对于像CLI这样的脚本应用程序,它们必须作为只依赖python二进制文件的自包含应用程序进行分发,那么推荐的方法是什么?在


Tags: installpippy命令应用程序paramikocli源代码
1条回答
网友
1楼 · 发布于 2024-10-02 14:28:29

几个原因:

  • 并非所有的包都是纯python包。在包中包含C扩展并使setup.py自动化编译过程很容易。

  • 自动依赖项管理;依赖项由安装工具(pipeasy_installzc.buildout)为您声明和安装。依赖关系也可以动态声明(尝试导入json,如果失败,则声明对simplejson的依赖关系,等等)。

  • 自定义资源安装设置。安装过程是高度可配置和动态的。依赖性检测也是如此,cx_Oracle必须跨越许多困难,才能使安装变得简单明了,比如需要支持的所有不同平台和Oracle库发行版选项的怪癖。

为什么仍要对CLI脚本执行此操作?这取决于CLI对您有多重要;您是否会在未来几年维护它?然后我仍然使用setup.py,因为它记录了依赖关系是什么,包括最低版本需求。您可以添加测试(python setup.py test),并轻松部署到新位置或升级依赖项。在

相关问题 更多 >