xjc*_*jcl 2 python distutils setuptools pyinstaller
我正在尝试将一些 Python 代码转换为.exePyInstaller。我的代码使用 distutils,这在过去已经让我有些头疼,因为它似乎重复了 setuptools 的功能,并且与它的交互很奇怪。例如,它需要未使用的setuptools 导入才能正常工作,这对我来说似乎非常不Python。
我需要在我的项目中使用这两个包。我在订单中导入了两个包,import setuptools; import distutils因为另一个订单抛出了一个已经令人担忧的警告。
我的脚本运行良好,但在我将其转换为 exe 后,我在 setuptools 的可疑子模块内得到了回溯_distutils_hack。是的,它只是打印一个没有上下文的文件名。
Traceback (most recent call last):
<18 lines omitted>
File "PyInstaller\loader\pyimod03_importers.py", line 495, in exec_module
File "_distutils_hack\override.py", line 71, in <module>
File "_distutils_hack\__init__.py", line 71, in do_override
File "_distutils_hack\__init__.py", line 59, in ensure_local_distutils
AssertionError: C:\Users\<omitted>\AppData\Local\Temp\_MEI294562\distutils\core.pyc
Run Code Online (Sandbox Code Playgroud)
我在用
Python 3.7.7 on win32(但我用 3.8、3.9 和 3.10 复制了它)pyinstaller==4.8(2022 年 1 月)Windows 版distutils==3.7.7(内置)setuptools==60.5.0(2022 年 1 月)显然,setuptools已在 PyPI 上列出,因此可升级,但未distutils在 PyPI 上列出,因此不可升级(该版本与 Python 捆绑在一起)。
我发现的解决方法是降级为
pip install setuptools==59.8.0
Run Code Online (Sandbox Code Playgroud)
我向项目报告了这个问题setuptools==60.0.0,然后确认该错误是在. 当我发现更多信息或者它得到修复时,我会更新这个问题。
| 归档时间: |
|
| 查看次数: |
4621 次 |
| 最近记录: |