只要您不尝试将 Qt dll 捆绑到library.zip 或exe 中,kochelmonster 的解决方案就可以工作。如果将插件放在应用程序目录的根目录中,则也不需要设置库路径。
我仍然想捆绑其他所有内容,因此我排除了 qt dll 并手动添加它们。我的 setup.py 看起来像这样:
from os.path import join
_PYSIDEDIR = r'C:\Python27\Lib\site-packages\PySide'
data_files =[('imageformats',[join(_PYSIDEDIR,'plugins\imageformats\qico4.dll')]),
('.',[join(_PYSIDEDIR,'shiboken-python2.7.dll'),
join(_PYSIDEDIR,'QtCore4.dll'),
join(_PYSIDEDIR,'QtGui4.dll')])
]
setup(
data_files=data_files,
options={
"py2exe":{
"dll_excludes":['shiboken-python2.7.dll','QtCore4.dll','QtGui4.dll'],
"bundle_files": 2
...
}
}
...
)
Run Code Online (Sandbox Code Playgroud)
如果您的项目使用其他 Qt dll,您还必须排除并手动添加它们。如果您需要加载 .ico 图像以外的其他内容,您还需要添加正确的插件。