首页 > 解决方案 > os.Pathlike 对象的 pyinstaller 错误

问题描述

我写了一段长代码,使用了pyodbc、pandas、openpyxl和PyQt5。每次我想将其转换为 .exe 时,我都没有问题。直到最近,我还想进行一些更新,然后使用 pyinstaller 制作成 .exe。现在,对于以前没有错误的完全相同的代码,我得到了以下错误。转换为 .exe 一分钟后,pyinstaller 停止并给出此错误。同样,我没有对代码进行任何更改。这个错误以前从未发生过,并且完美地转换为 .exe。现在由于某种原因,我收到以下错误(请参见最后一行以粗体显示):

我正在使用 pycharm 通过终端视图中的虚拟环境执行 pyinstaller。但是,即使我尝试使用 cmd 命令提示符进行转换,我仍然会遇到同样的错误。

TypeError:预期的 str、字节或 os.PathLike 对象,而不是 NoneType

这是追溯:

Traceback (most recent call last):
  File "C:\Users\richa\PycharmProjects\newEDAT\venv\Scripts\pyinstaller-script.py", line 11, in <module>
    load_entry_point('PyInstaller==3.5.dev0+73dfb3add', 'console_scripts', 'pyinstaller')()
  File "C:\Users\richa\PycharmProjects\newEDAT\venv\lib\site-packages\PyInstaller\__main__.py", line 111, in run
    run_build(pyi_config, spec_file, **vars(args))
  File "C:\Users\richa\PycharmProjects\newEDAT\venv\lib\site-packages\PyInstaller\__main__.py", line 63, in run_build
    PyInstaller.building.build_main.main(pyi_config, spec_file, **kwargs)
  File "C:\Users\richa\PycharmProjects\newEDAT\venv\lib\site-packages\PyInstaller\building\build_main.py", line 844, in main
    build(specfile, kw.get('distpath'), kw.get('workpath'), kw.get('clean_build'))
  File "C:\Users\richa\PycharmProjects\newEDAT\venv\lib\site-packages\PyInstaller\building\build_main.py", line 791, in build
    exec(code, spec_namespace)
  File "C:\Users\richa\PycharmProjects\newEDAT\new_EDAT_116.spec", line 29, in <module>
    console=True )
  File "C:\Users\richa\PycharmProjects\newEDAT\venv\lib\site-packages\PyInstaller\building\api.py", line 424, in __init__
    strip_binaries=self.strip, upx_binaries=self.upx,
  File "C:\Users\richa\PycharmProjects\newEDAT\venv\lib\site-packages\PyInstaller\building\api.py", line 196, in __init__
    self.__postinit__()
  File "C:\Users\richa\PycharmProjects\newEDAT\venv\lib\site-packages\PyInstaller\building\datastruct.py", line 158, in __postinit__
    self.assemble()
  File "C:\Users\richa\PycharmProjects\newEDAT\venv\lib\site-packages\PyInstaller\building\api.py", line 273, in assemble
    pylib_name = os.path.basename(bindepend.get_python_library_path())
  File "C:\Users\richa\AppData\Local\Programs\Python\Python37\lib\ntpath.py", line 214, in basename
    return split(p)[1]
  File "C:\Users\richa\AppData\Local\Programs\Python\Python37\lib\ntpath.py", line 183, in split
    p = os.fspath(p)

标签: pythonpyinstaller

解决方案


推荐阅读