是否可以使用python脚本捆绑所有导入要求?

时间:2014-07-24 16:57:16

标签: python

我的python脚本运行多个导入。在某些需要运行的系统上,可能未安装其中一些模块。有没有办法分发一个自动运行的独立脚本?也许只是在脚本本身中包含所有这些导入?

2 个答案:

答案 0 :(得分:0)

在独立脚本中包含所有必需的模块可能非常棘手且不太好。但是,您可以将模块与脚本一起分发(例如,通过分发存档)。

如果大多数模块刚刚安装在与脚本相同的文件夹而不是通常的site-packages中,那么它们将会起作用。根据{{​​1}}订单,系统的模块将优先加载到您发送的模块,但如果它不存在,则后者将以透明方式导入。

如果您认为该方法更清晰,您还可以将zip中的依赖项捆绑并将该zip添加到路径中。

但是,有些模块不能那么灵活。一个例子是必须首先编译的扩展(如C扩展),因此绑定到平台。

恕我直言,最干净的解决方案仍然是使用distutils和正确的依赖关系定义来正确打包脚本,并编写一些安装例程来安装捆绑包中缺少的依赖项或使用sys.path

答案 1 :(得分:-1)