我有两个wxWidgets Python应用程序 - t1和t2。两个应用程序的源代码目录结构如下:
GUI / T1 / ...
GUI / t2 / ...
我在t1中有一个用于启动t2的按钮。我尝试使用pyinstaller构建t1和t2,以便可以从t1正确启动t2。我在GUI / t1 / bin目录中构建了t1和t2。所以,t1.exe和t2.exe存在如下:
GUI / T1 /斌/ DIST / T1 / t1.exe
GUI / T1 /斌/ DIST / T2 / t2.exe
我可以通过点击各自的可执行文件成功启动t1和t2。但是,当我尝试从t1开始t2时,我收到一个错误:
Traceback (most recent call last):
File "<string>", line 15, in <module>
File "c:\pyinstaller-2.0\PyInstaller\loader\iu.py", line 386, in importHook
mod = _self_doimport(nm, ctx, fqname)
File "c:\pyinstaller-2.0\PyInstaller\loader\iu.py", line 480, in doimport
exec co in mod.__dict__
File "bin\build\pyi.win32\jobmanager\out00-PYZ.pyz\wx", line 45, in <module>
File "c:\pyinstaller-2.0\PyInstaller\loader\iu.py", line 386, in importHook
mod = _self_doimport(nm, ctx, fqname)
File "c:\pyinstaller-2.0\PyInstaller\loader\iu.py", line 480, in doimport
exec co in mod.__dict__
File "bin\build\pyi.win32\jobmanager\out00-PYZ.pyz\wx._core", line 4, in <modu
le>
File "c:\pyinstaller-2.0\PyInstaller\loader\iu.py", line 409, in importHook
raise ImportError("No module named %s" % fqname)
ImportError: No module named _core_
t2从t1启动如下:
output = subprocess.check_output(&#34; ../ t2 / t2.exe&#34;,stderr = subprocess.STDOUT)
我不确定问题是什么。从t1启动t2的正确方法是什么?或者我需要更改构建中的任何内容吗?将t2.exe复制到dist / t1并启动为subprocess.check_output(&#34; t2.exe&#34;,...)也无济于事。
由于
答案 0 :(得分:0)
问题是由于pyinstaller的2.0版本引起的。将pyinstaller的版本更改为2.1并重新构建两个可执行文件可以解决问题。