python - 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)
解决方案
推荐阅读
- javascript - 将对象值与数组进行比较?
- python - if 和 elif 语句不起作用/不被 python 识别
- angular - 如何在角度 8 中从有效负载中访问单独的字段
- php - 在 PHP 中根据天数生成调度程序日历
- c# - 编译器错误消息:CS0234:命名空间“传真”中不存在类型或命名空间名称“WebApp”(您是否缺少程序集引用?)
- node.js - 当我们使用嵌套对象时,formData Joi 验证失败
- java - 发布时未指定 gradle suproject 版本
- git - 在 git 中重新创建 prod 分支的情况下,应该采取什么措施来清理日志?
- php - 如何获得两个对象数组之间的差异
- python - 如何将一个 zip 文件拆分为多个特定大小的 zip 文件并将其解压缩为云存储中的单个文件?