如何在没有所需外部库模块的其他系统上运行我的Python代码?

时间:2012-04-03 10:52:09

标签: python python-2.7

我使用外部库(lxml-module)构建了一个Python应用程序。这在我的系统中运行良好。有没有办法编译这个代码或打包这段代码,以便我可以在另一个没有安装这个外部库(lxml-module)模块的系统中运行它?

如果可能的话,请给我一些关于* .pyd的参考吗?

3 个答案:

答案 0 :(得分:1)

PyInstaller是打包代码的好方法。

它适用于configure / make / build工作流程(在此之前,您使用不同类型的选项设置一个小型spec文件)。外部包装将随您的申请一起发货。

PyInstaller支持

lxml:http://www.pyinstaller.org/wiki/SupportedPackages

至于能够在另一台机器上编译代码,Marcin有一个很好的建议。

答案 1 :(得分:0)

对于使用py2exe的Windows打包,对于OSX使用py2app,对于Linux可能使用cx_freeze

答案 2 :(得分:0)

您始终可以将模块复制到本地路径并从那里导入。 django为json做了什么,直到它被包含在标准库中。

这可以解决问题:

try:
    import lxml
except ImportError:
    import myownmodules.lxml as lxml

我知道这是一种不那么“高科技”的方法,但如果问题很简单,这就是我不会眨眼的做法。

此外......我们的好友蒂姆似乎同意:“如果实施很容易解释,那可能是个好主意。”