在可能不存在库的环境中运行python脚本

时间:2015-04-25 19:40:00

标签: python python-docx

我有一个python脚本,其中包括第三方库:

from docx import Document

现在,我需要在存在bare-bones python而不是这个库的环境中运行此脚本。

在目标环境中安装此库超出了我的范围,我尝试使用distutils,但无法使用它。目标环境只需要运行脚本,而不是安装包。

我来自Java背景,在Java中我只是导出并创建了一个jar文件,其中包含了我需要的所有库。我需要和python类似。

编辑:使用distutils,我尝试创建setup.py:

from distutils.core import setup
import docx
setup(name='mymodule',
     version='1.0',
     py_modules=['mymodule', docx]
     )

但我不确定这是否有效。

3 个答案:

答案 0 :(得分:0)

您可以在应用程序中包含docx的模块。只需将它们分配在一起

但docx依赖于lmxl操作系统包,需要在其上运行安装程序。您无法将其复制到目标计算机。

我不确定PyInstaller是否支持docx,特别是添加它具有非python依赖。

真正使用pip或easy_install即可。

答案 1 :(得分:0)

如果你不能制作一个pyc文件而你不能制作pyc文件,那么PyInstaller就不会工作,除非你的代码运行没有致命的错误。

您可以在try块中导入除 ImportError 以外的导入块,但这会导致 NameError & 。长话短说如果包是脚本不可或缺的,那么避免它就会解决你的问题。你需要依赖。

您说安装软件包超出了您的范围,那么,是时候扩展您的范围了。 Docx是一个开源软件包,你可以在github上找到here

您可以下载并运行setup.py

答案 2 :(得分:-2)

PyInstaller是一个程序,可以在Windows,Linux,Mac OS X,Solaris和AIX下将Python程序转换(打包)为独立的可执行文件。