【问题标题】:python3 -m build gives ModuleNotFoundError: No module named 'pathlib2'python3 -m build 给出 ModuleNotFoundError: No module named \'pathlib2\'
【发布时间】:2022-10-15 19:34:31
【问题描述】:

我正在尝试构建一个 Python 包,但它给出了以下错误。

* Creating virtualenv isolated environment...
* Installing packages in isolated environment... (setuptools >= 40.8.0, wheel)
* Getting dependencies for sdist...
Traceback (most recent call last):
  File "/usr/local/lib/python3.10/site-packages/pep517/in_process/_in_process.py", line 351, in <module>
    main()
  File "/usr/local/lib/python3.10/site-packages/pep517/in_process/_in_process.py", line 333, in main
    json_out['return_val'] = hook(**hook_input['kwargs'])
  File "/usr/local/lib/python3.10/site-packages/pep517/in_process/_in_process.py", line 285, in get_requires_for_build_sdist
    return hook(config_settings)
  File "/tmp/build-env-eyqolcf7/lib/python3.10/site-packages/setuptools/build_meta.py", line 341, in get_requires_for_build_sdist
    return self._get_build_requires(config_settings, requirements=[])
  File "/tmp/build-env-eyqolcf7/lib/python3.10/site-packages/setuptools/build_meta.py", line 320, in _get_build_requires
    self.run_setup()
  File "/tmp/build-env-eyqolcf7/lib/python3.10/site-packages/setuptools/build_meta.py", line 482, in run_setup
    super(_BuildMetaLegacyBackend,
  File "/tmp/build-env-eyqolcf7/lib/python3.10/site-packages/setuptools/build_meta.py", line 335, in run_setup
    exec(code, locals())
  File "<string>", line 5, in <module>
ModuleNotFoundError: No module named 'pathlib2'

ERROR Backend subprocess exited when trying to invoke get_requires_for_build_sdist

我已经安装了 pathlib2。解决办法是什么?

【问题讨论】:

  • 你的pip freeze 是什么样的?
  • @was1209 它有 pathlib2==2.3.7.post1
  • @was1209 python setup.py install 没有问题,唯一的问题是 python3 -m build
  • 也许你的意思是python setup.py build
  • 也许您安装了两个 Python,并且您在一个 Python 中安装了模块,但现在您使用其他 Python 运行代码。但是 Python 不共享模块。也许你应该使用python3 -m pip install ... 而不是pip install ...。或者,也许您有 pip3,它可能会为 python3 安装。检查pip -V 是否显示带有文本python3.10 的行

标签: python build pathlib


【解决方案1】:

根据build包的官方文档,它没有稳定的兼容性

https://pypa-build.readthedocs.io/en/latest/installation.html#compatibility

你可以尝试切换到旧版本的python(推荐3.9)再试一次, 理想情况下,这应该可以解决错误,因为在回溯中,错误似乎源于 setuptools (它将自动恢复到具有较旧 python 版本的较旧版本)

注意:您还需要在新的 python 版本中重新安装构建

如果您遇到任何问题,请告诉我。

【讨论】:

    【解决方案2】:

    我已经在Python3.10 中成功构建了它。 pip3.10 freeze 给了我这个输出

        build==0.8.0
        packaging==21.3
        pep517==0.13.0
        pyparsing==3.0.9
        tomli==2.0.1
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-12-27
      • 2022-12-27
      • 2022-12-19
      • 1970-01-01
      • 2019-07-02
      • 2020-02-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多