在 Fedora 29 上,我想使用 pip 安装 web3.py。理论上sudo pip3 install web3
可行,但我收到以下错误:
ERROR: Complete output from command python setup.py egg_info:
ERROR: running egg_info
creating pip-egg-info/cytoolz.egg-info
writing pip-egg-info/cytoolz.egg-info/PKG-INFO
writing dependency_links to pip-egg-info/cytoolz.egg-info/dependency_links.txt
writing requirements to pip-egg-info/cytoolz.egg-info/requires.txt
writing top-level names to pip-egg-info/cytoolz.egg-info/top_level.txt
writing manifest file 'pip-egg-info/cytoolz.egg-info/SOURCES.txt'
Traceback (most recent call last):
[...]
File "/usr/lib64/python3.7/lib2to3/pgen2/grammar.py", line 108, in load
d = pickle.load(f)
EOFError: Ran out of input
----------------------------------------
ERROR: Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-req-build-rrup96_c/
Python3.7、pip3 已更新、setuptools 已更新。
由于错误是在安装 cytoolz 期间生成的,我尝试手动安装它,首先使用pip3 install cytoolz
,然后从 pypi.org 下载 tar.gz,以获取最新版本(9.0.1.0)和前一个版本(9.0.0)。尝试重新安装 pip3,清除.cache/pip
/root 和 ~/。总是同样的错误。
顺便说一句,pip3 install requests
效果很好。
Google 无法找到EOFError
cytoolz 的相关信息。正如所建议的那样,错误似乎是由 引发的pickle.load(f)
,因此也许它正在尝试读取不存在的文件。但整个堆栈跟踪让我对它可能是哪个文件一无所知。由于我尝试安装多个版本,我倾向于认为丢失的文件不是 cytoolz 文件。
我已经花了很多时间研究这个问题,但因为缺乏信息而精疲力尽。任何提示/解决方案都将不胜感激。