构建项目不会安装正确版本的包

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

我正在尝试构建一个软件包,由于某种原因,当它尝试安装 setuptools 时,它遇到了问题:

$ python -m build
* Creating virtualenv isolated environment...
* Installing packages in isolated environment... (setuptools>=61.0)
Collecting setuptools>=61.0
  Using cached setuptools-69.1.1-py3-none-any.whl (819 kB)
Installing collected packages: setuptools
  Attempting uninstall: setuptools
    Found existing installation: setuptools 59.6.0
    Not uninstalling setuptools at /usr/lib/python3/dist-packages, outside environment /usr
    Can't uninstall 'setuptools'. No files were found to uninstall.
  ERROR: Can't roll back setuptools; was not uninstalled
ERROR: Could not install packages due to an OSError: [Errno 13] Permission denied: '/usr/local/lib/python3.10/dist-packages/distutils-precedence.pth'
Consider using the `--user` option or check the permissions.


Traceback (most recent call last):
  File "/home/x/.local/lib/python3.10/site-packages/build/__main__.py", line 388, in main
    built = build_call(
  File "/home/x/.local/lib/python3.10/site-packages/build/__main__.py", line 239, in build_package_via_sdist
    sdist = _build(isolation, srcdir, outdir, 'sdist', config_settings, skip_dependency_check)
  File "/home/x/.local/lib/python3.10/site-packages/build/__main__.py", line 147, in _build
    return _build_in_isolated_env(srcdir, outdir, distribution, config_settings)
  File "/home/x/.local/lib/python3.10/site-packages/build/__main__.py", line 113, in _build_in_isolated_env
    env.install(builder.build_system_requires)
  File "/home/x/.local/lib/python3.10/site-packages/build/env.py", line 143, in install
    _subprocess(cmd)
  File "/home/x/.local/lib/python3.10/site-packages/build/env.py", line 64, in _subprocess
    subprocess.run(cmd, check=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
  File "/usr/lib/python3.10/subprocess.py", line 526, in run
    raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['/tmp/build-env-l1ium7ru/local/bin/python', '-Im', 'pip', 'install', '--use-pep517', '--no-warn-script-location', '-r', '/tmp/build-reqs-f8wiyjft.txt']' returned non-zero exit status 1.

ERROR Command '['/tmp/build-env-l1ium7ru/local/bin/python', '-Im', 'pip', 'install', '--use-pep517', '--no-warn-script-location', '-r', '/tmp/build-reqs-f8wiyjft.txt']' returned non-zero exit status 1.

但是当我尝试查看我拥有的版本时:

$ pip list | grep setuptools
setuptools             69.1.1

当我进入目录

/usr/lib/python3/dist-packages
时,有一个版本59.6.0:

$ ls /usr/lib/python3/dist-packages | grep setuptools
setuptools
setuptools-59.6.0.egg-info

我已经升级了

build
pip
。如上所述,我还升级了
setuptools
。它说这是权限问题(是的,
/usr/lib/...
中的文件是root),但主要问题是,为什么它尝试使用root版本而不是本地版本?还是我做错了什么?

(如果我需要包含额外的文件,请告诉我)

python build pyproject.toml
1个回答
0
投票

为了解决这个问题,我直接使用 sudo 进入 root 并更新了那里的包。我还是不知道为什么本地版本不能正常更新。

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