【发布时间】:2021-07-23 23:50:02
【问题描述】:
py2exe 的 setup.py:
setup(console=['TagProject.py'], options={'py2exe':{'dist_dir':'AriesTools'} } )
当我调用 exe 时,我得到了错误:
Traceback (most recent call last):
File "TagProject.py", line 7, in <module>
File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 664, in _load_unlocked
File "<frozen importlib._bootstrap>", line 627, in _load_backward_compatible
File "<frozen zipimport>", line 259, in load_module
File "pysvn\__init__.pyc", line 116, in <module>
File "os.pyc", line 1111, in add_dll_directory
FileNotFoundError: [WinError 3] The system cannot find the path specified:
'H:\\PythonScripts\\AriesTools\\library.zip\\pysvn'
已安装的组件:
Python 3.9.6 (32-bit)
Python 3.9 PySVN 1.9.13-2056 on Win32
py2exe-0.10.4.0-cp39-cp39-win32.whl
我使用相同的过程为其他不使用pysvn的脚本创建exe,并且exe没有显示同样的问题。
【问题讨论】:
-
pyinstaller可能认为该导入是“隐藏的”。文档中有一个非常有用的部分,称为 When things go wrong。 -
通过调试进一步调查,结果发现错误似乎来自 os.add_dll_direcortory 的压缩路径参数(....\library.zip\pysvn),调用自“import pysvn”在 TagProject.exe 中。仍然不知道如何解决这个问题。
-
可能是
os.add_dll_directory()不喜欢压缩文件的文件夹。您可以尝试直接在.spec文件中指定pysvnDLL。这可能会绕过os调用。如果没有,我认为您的下一步是通过pyinstaller项目提出问题。
标签: python py2exe setup.py pysvn