我已经使用pyinstaller将我的几个python脚本成功捆绑到exe文件中。但是,我遇到了使用本地数据文件的不同python脚本的问题。使用这个问题并回答PyInstaller 2.0 bundle file as --onefile我使用我的本地文件获得了脚本,但是我收到了错误。
我有一个名为“translate.py”的主python脚本,我有几个子进程调用不同的python脚本调用“loader.py”,它接受各种参数。所以我的正常子流程看起来像这样
python.exe loader.py loader.config src_dir=data out_dir=sql tmp_dir=temp
在我的pyinstaller版本中,我使用上面问题的答案来进行以下子进程调用
python.exe C:\Users\AppData\Local\Temp\_MEI70922\loader.py C:\Users\AppData\Local\Temp\_MEI70922\loader.config src_dir=dat
a out_dir=sql tmp_dir=temp
然而,这无法运行子进程,我收到以下错误
no module named site
所以我想知道pyinstaller是否包含我可能需要的所有模块?
我已经调整了spec文件来分析所有这样的python脚本
a = Analysis(['c:\\temp\\translate.py','c:\\temp\\loader.py','c:\\temp\\prep.py','c:\\temp\\prep2.py'],
pathex=['C:\\Temp\\pyinstaller-2.0\\pyinstaller-2.0'],
hiddenimports=[],
hookspath=None)
但我再次得到名为site的no模块。
我知道我的代码可能会更好但是我被卡住了,因为其他人编写了loader.py并且我编写了translate.py,现在我需要将它们全部捆绑到一个简单的exe文件中。
感谢任何人的帮助