【发布时间】:2021-06-10 07:46:34
【问题描述】:
我创建了一个 python 包并将其托管在我自己的 GitHub 存储库中。当我从 GitHub 进行 pip install 时,收到以下错误:
Getting requirements to build wheel ... error
...
ModuleNotFoundError: No module named 'XXX'
XXX 是我尝试安装的软件包的名称。这对我来说没有意义。有人可以对此有所了解吗?
编辑 1: 我设法找到了一个表现出这种行为的永久存储库。请尝试以下操作:
pip install https://github.com/rm-hull/luma.core/archive/master.zip
pip install https://github.com/rm-hull/luma.oled/archive/master.zip
为了重现错误,您必须按上述顺序执行 pip 命令(如果先执行第二个 pip 命令,则不会产生错误)。最后一个 pip 产生如下错误:
...
ModuleNotFoundError: No module named 'luma.oled'
我正在使用在 Win10 上运行的 Python 3.7.9、pip 21.0.1、setuptools 54.1.1。
注意:在...的地方有一长串错误信息。
编辑 2:
这是安装luma.oled时的完整错误:
Collecting https://github.com/rm-hull/luma.oled/archive/master.zip
Using cached https://github.com/rm-hull/luma.oled/archive/master.zip
Installing build dependencies ... done
Getting requirements to build wheel ... error
ERROR: Command errored out with exit status 1:
command: 'c:\users\user\appdata\local\programs\thonny\python.exe' 'c:\users\user\appdata\local\programs\thonny\lib\site-packages\pip\_vendor\pep517\_in_process.py' get_requires_for_build_wheel 'C:\Users\user\AppData\Local\Temp\tmphvzewynk'
cwd: C:\Users\user\AppData\Local\Temp\pip-req-build-5w6wbo9g
Complete output (48 lines):
Traceback (most recent call last):
File "C:\Users\user\AppData\Local\Temp\pip-build-env-_xeaivwi\overlay\Lib\site-packages\setuptools\config.py", line 387, in _parse_attr
return getattr(StaticModule(module_name), attr_name)
File "C:\Users\user\AppData\Local\Temp\pip-build-env-_xeaivwi\overlay\Lib\site-packages\setuptools\config.py", line 25, in __init__
with open(spec.origin) as strm:
AttributeError: 'NoneType' object has no attribute 'origin'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "c:\users\user\appdata\local\programs\thonny\lib\site-packages\pip\_vendor\pep517\_in_process.py", line 280, in <module>
main()
File "c:\users\user\appdata\local\programs\thonny\lib\site-packages\pip\_vendor\pep517\_in_process.py", line 263, in main
json_out['return_val'] = hook(**hook_input['kwargs'])
File "c:\users\user\appdata\local\programs\thonny\lib\site-packages\pip\_vendor\pep517\_in_process.py", line 114, in get_requires_for_build_wheel
return hook(config_settings)
File "C:\Users\user\AppData\Local\Temp\pip-build-env-_xeaivwi\overlay\Lib\site-packages\setuptools\build_meta.py", line 150, in get_requires_for_build_wheel
config_settings, requirements=['wheel'])
File "C:\Users\user\AppData\Local\Temp\pip-build-env-_xeaivwi\overlay\Lib\site-packages\setuptools\build_meta.py", line 130, in _get_build_requires
self.run_setup()
File "C:\Users\user\AppData\Local\Temp\pip-build-env-_xeaivwi\overlay\Lib\site-packages\setuptools\build_meta.py", line 145, in run_setup
exec(compile(code, __file__, 'exec'), locals())
File "setup.py", line 7, in <module>
setuptools.setup()
File "C:\Users\user\AppData\Local\Temp\pip-build-env-_xeaivwi\overlay\Lib\site-packages\setuptools\__init__.py", line 153, in setup
return distutils.core.setup(**attrs)
File "c:\users\user\appdata\local\programs\thonny\lib\distutils\core.py", line 121, in setup
dist.parse_config_files()
File "C:\Users\user\AppData\Local\Temp\pip-build-env-_xeaivwi\overlay\Lib\site-packages\setuptools\dist.py", line 708, in parse_config_files
ignore_option_errors=ignore_option_errors)
File "C:\Users\user\AppData\Local\Temp\pip-build-env-_xeaivwi\overlay\Lib\site-packages\setuptools\config.py", line 157, in parse_configuration
meta.parse()
File "C:\Users\user\AppData\Local\Temp\pip-build-env-_xeaivwi\overlay\Lib\site-packages\setuptools\config.py", line 463, in parse
section_parser_method(section_options)
File "C:\Users\user\AppData\Local\Temp\pip-build-env-_xeaivwi\overlay\Lib\site-packages\setuptools\config.py", line 436, in parse_section
self[name] = value
File "C:\Users\user\AppData\Local\Temp\pip-build-env-_xeaivwi\overlay\Lib\site-packages\setuptools\config.py", line 220, in __setitem__
value = parser(value)
File "C:\Users\user\AppData\Local\Temp\pip-build-env-_xeaivwi\overlay\Lib\site-packages\setuptools\config.py", line 552, in _parse_version
version = self._parse_attr(value, self.package_dir)
File "C:\Users\user\AppData\Local\Temp\pip-build-env-_xeaivwi\overlay\Lib\site-packages\setuptools\config.py", line 390, in _parse_attr
module = importlib.import_module(module_name)
File "c:\users\user\appdata\local\programs\thonny\lib\importlib\__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
File "<frozen importlib._bootstrap>", line 983, in _find_and_load
File "<frozen importlib._bootstrap>", line 965, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'luma.oled'
----------------------------------------
WARNING: Discarding https://github.com/rm-hull/luma.oled/archive/master.zip. Command errored out with exit status 1: 'c:\users\user\appdata\local\programs\thonny\python.exe' 'c:\users\user\appdata\local\programs\thonny\lib\site-packages\pip\_vendor\pep517\_in_process.py' get_requires_for_build_wheel 'C:\Users\user\AppData\Local\Temp\tmphvzewynk' Check the logs for full command output.
config.py 或 setuptools 触发的两个错误。但是如果安装在 Raspbian GNU/Linux 10 (buster) 下没有遇到错误。
【问题讨论】:
-
嗨@kaosad,你能分享更多信息吗?你的仓库,你如何存储你的包,你的配置,......
-
我不确定在此处放置指向我的仓库的链接是否合适,因为它不是永久性的。请指教。
-
至少共享你的包配置文件,即pyproject.toml、setup.py等
-
嗯..我在我的环境下遇到了这个错误。我正在使用 Python 3.7.9、pip 21.0.1、setuptools 54.1.1
-
嗯.. 好吧,我似乎太早说了不可重现,对此感到抱歉。但似乎还有其他部分的错误。您刚刚发布了最后一行,但实际上顶部有一个“AttributeError: 'NoneType' object has no attribute 'origin'”,这似乎是 main 异常。它未能为其中一个依赖项构建轮子,因此无法成功安装 luma.oled。如果您可以发布错误消息的其他部分和可重现的示例(不是来自 github 链接),那就更好了。可能与依赖项或设置配置有关。
标签: python python-3.x pip python-3.7 setuptools