0

试图让 py2exe 为我编译一个使用 fiona 的脚本。

我使用的软件包:

import os
import fiona
import sys
from PyQt5.QtGui import QIcon
from PyQt5 import QtCore, QtGui
from PyQt5.QtWidgets import *

然后我最终得到以下错误:

D:/Temp/project/python setup.py py2exe

Traceback (most recent call last):
File "setup.py", line 9, in <module>
  "excludes": ['bz2']
File "C:\Anaconda\lib\distutils\core.py", line 151, in setup
  dist.run_commands()
File "C:\Anaconda\lib\distutils\dist.py", line 953, in run_commands
  self.run_command(cmd)
File "C:\Anaconda\lib\distutils\dist.py", line 972, in run_command
  cmd_obj.run()
File "C:\Anaconda\lib\site-packages\py2exe\build_exe.py", line 243, in run
  self._run()
  File "C:\Anaconda\lib\site-packages\py2exe\build_exe.py", line 296, in _run
 self.find_needed_modules(mf, required_files, required_modules)
File "C:\Anaconda\lib\site-packages\py2exe\build_exe.py", line 1333, in find_needed_modules
  os.path.walk(path, visit, packages)
File "C:\Anaconda\lib\ntpath.py", line 266, in walk
  names = os.listdir(top)
TypeError: coercing to Unicode: need string or buffer, NoneType found

干杯

4

1 回答 1

1

您可以尝试 PyInstaller 作为替代方案。我试图使用 py2exe 但得到的错误与你得到的完全相同。但后来我安装了 PyInstaller(可以通过 pip 完成)并运行它,它立即工作。注意删除您在尝试使用 py2exe 时留下的任何 build/dist 目录。

注意:我会将此作为评论发布,因为它不是直接答案,但我没有足够的代表。

于 2018-05-22T05:00:32.073 回答