我有一个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]
)
但我不确定这是否有效。
答案 0 :(得分:0)
您可以在应用程序中包含docx的模块。只需将它们分配在一起
但docx依赖于lmxl操作系统包,需要在其上运行安装程序。您无法将其复制到目标计算机。
我不确定PyInstaller是否支持docx,特别是添加它具有非python依赖。
真正使用pip或easy_install即可。
答案 1 :(得分:0)
您可以在try块中导入除 ImportError 以外的导入块,但这会导致 NameError & 。长话短说如果包是脚本不可或缺的,那么避免它就会解决你的问题。你需要依赖。
您说安装软件包超出了您的范围,那么,是时候扩展您的范围了。 Docx是一个开源软件包,你可以在github上找到here
您可以下载并运行setup.py
答案 2 :(得分:-2)
PyInstaller是一个程序,可以在Windows,Linux,Mac OS X,Solaris和AIX下将Python程序转换(打包)为独立的可执行文件。