构建 python 可执行文件(在 wxWidgets 中)以便可以从另一个 wxWidgets 应用程序调用的正确方法?

Correct way to build python executable(in wxWidgets) so that it can be called from another wxWidgets application?

我有两个 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/bin/dist/t1/t1.exe
GUI/t1/bin/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 启动如下:

输出=subprocess.check_output("../t2/t2.exe",stderr=subprocess.STDOUT)

我不确定是什么问题。从 t1 启动 t2 的正确方法是什么,或者我是否需要更改构建中的任何内容?将 t2.exe 复制到 dist/t1 并以 subprocess.check_output("t2.exe",...) 启动也无济于事。

谢谢

问题出在 pyinstaller 2.0 版本。将 pyinstaller 的版本更改为 2.1 并重新构建两个可执行文件可解决问题。