Pyinstaller speedtest 转换为 exe 错误;没有模块名称“__builtin__”

问题描述 投票:0回答:4

我正在尝试使用 pyinstaller 将程序转换为 exe。 该程序对用户计算机执行硬件评估,包括利用 speedtest-cli 运行互联网速度测试。 该程序运行良好,直到我编译它,此时我收到以下错误:

Traceback (most recent call last):   File "speedtest.py", line 156, in <module> ModuleNotFoundError: No module named '__builtin__'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):   File "hw-assesment-tool.py", line 9, 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 680, in _load_unlocked   File "PyInstaller\loader\pyimod03_importers.py", line 546, in exec_module   File "speedtest.py", line 179, in <module>   File "speedtest.py", line 166, in __init__ AttributeError: 'NullWriter' object has no attribute 'fileno'

我已尝试升级并重新安装 speedtest-cli,但尚未解决问题。

附注 这是错误的屏幕截图:

源自 Speedtest-cli 的编译 Python EXE 错误

python runtime-error pyinstaller speed-test
4个回答
1
投票

首先您需要转到 C:\Users\user\AppData\Local\Programs\Python\Python38\Lib\site-packages。然后找到 speedtest.py 并用记事本或任何其他文本编辑器打开它。

现在您需要编辑这些代码行

第156行:到

import builtins

第 158 行:前往

import builtins

第199行:到

del builtins

要确认,您可以找到

__builtin__
并将其替换为
builtins


0
投票
在 Python 3 中,

__builtin__
更改为
builtins
。我从存储库中提取了 speedtest-cli 代码,并编辑了 Python2 功能,效果很好。


0
投票

我之前遇到过同样的问题,你需要修改spec文件:hiddenimports=['speedtest'],并通过spec文件构建exe(类型命令:pyinstaller -F main.spec),它的工作!


0
投票

ни один из этих способов не поможет, единственное。请注意,我们将在本次活动中为您提供帮助。 но и консоль будет вылазить

© www.soinside.com 2019 - 2024. All rights reserved.