使Python脚本无需导入即可使用

时间:2013-12-28 11:41:09

标签: python import

我有一个使用多个导入的Python脚本(例如gdal,numpy,pygtk)。我希望这个脚本可以在其他PC上运行,而不必说“在使用这个程序之前你必须安装gdal ....”

我所做的是,每当我使用导入的方法时,我右键单击,单击显示定义,然后将所有必要的模块直接复制粘贴到我的脚本中。

这是有效的,但我想知道的是:有更简单或更优雅的方式吗?

由于

3 个答案:

答案 0 :(得分:5)

打包应用程序的优先方式是使用setup.py脚本(使用distutils) 看看http://docs.python.org/2/distutils/setupscript.html

setup.py脚本中,您需要提供所有依赖项,当用户安装您的应用程序时(使用python setup.py install),它将检查依赖项并为您安装。

另外,如果您想发送单个可执行文件,请查看:

  1. http://www.pyinstaller.org/制作exe或Linux可执行文件
  2. http://pythonhosted.org/py2app/使mac os可执行。
  3. 在两种情况下都需要具有正确的setup.py脚本

答案 1 :(得分:2)

您只需将相关的python模块目录复制到源相对路径即可。

然而,主要问题仍然是相同的:每次更新某些内容时,如果没有重要工作,您就无法获得更新和错误修正的好处。这和您当前的方法的一个好处是,您可以锁定行为,以减少在客户端计算机上版本化副作用。

然而,“正确”的方法是将python脚本转换为带有安装脚本的模块,并指定module dependencies via distutils

如果依赖项不是pure-python,则可能会遇到客户端编译问题,在这种情况下,您可能需要打包预构建的模块分发。

答案 2 :(得分:1)

由于您提到的依赖项不是纯python并且假设您仅在Windows上工作/分发,您可以考虑使用py2exe来创建可执行文件(这样您最终可能会避免人们将python安装为好)。