/tmp/..../ 中的命令 "python setup.py egg_info" 失败,错误代码为 1

Command "python setup.py egg_info" failed with error code 1 in /tmp/..../

我在使用 pip 安装依赖项时遇到以下错误:

pip9.exceptions.InstallationError Command "python setup.py egg_info" failed with error code 1 in /tmp/tmpoons7qgkbuild/opencv-python/

下面是 运行 命令 pipenv install opencv-python 在最近的 linux (5.4.0 x64) 系统上的结果。

Locking [packages] dependencies…
self.repository.get_dependencies(ireq):
  File "/usr/lib/python3/dist-packages/pipenv/patched/piptools/repositories/pypi.py", line 174, in get_dependencies
    legacy_results = self.get_legacy_dependencies(ireq)
  File "/usr/lib/python3/dist-packages/pipenv/patched/piptools/repositories/pypi.py", line 222, in get_legacy_dependencies
    result = reqset._prepare_file(self.finder, ireq, ignore_requires_python=True)
  File "/usr/lib/python3/dist-packages/pipenv/patched/notpip/req/req_set.py", line 644, in _prepare_file
    abstract_dist.prep_for_dist()
  File "/usr/lib/python3/dist-packages/pipenv/patched/notpip/req/req_set.py", line 134, in prep_for_dist
    self.req_to_install.run_egg_info()
  File "/usr/lib/python3/dist-packages/pipenv/vendor/pip9/req/req_install.py", line 435, in run_egg_info
    call_subprocess(
  File "/usr/lib/python3/dist-packages/pipenv/vendor/pip9/utils/__init__.py", line 705, in call_subprocess
    raise InstallationError(
pip9.exceptions.InstallationError: Command "python setup.py egg_info" failed with error code 1 in /tmp/tmpoons7qgkbuild/opencv-python/

如何修复 pip9.exceptions.InstallationError

确保 pipsetuptools 的版本足以满足 manylinux2014 wheels

A) 系统安装

sudo python3 -m pip install -U pip
sudo python3 -m pip install -U setuptools

B) 虚拟环境/Pipenv

# Within the venv
pip3 install -U pip
pip3 install -U setuptools

说明

对我来说,python setup.py egg_info 可能失败是因为 python 轮子最近发生了变化,根据 open-cv faqmanylinux1 wheelsmanylinux2014 wheels 取代了。

在一个需要Python2和pip2的项目中,出现了类似的错误

python setup.py egg_info" failed with error code 1 in /tmp/pip-install-hI6hg8/mpmath/

下面的“python-pip”就是pip2(python3-pip就是pip3):

apt-get install --upgrade python-pip -y && \
    python -m pip install --upgrade pip

我不确定是否需要第二个 --upgrade,虽然它也没有害处,但代码对我有用。

然后我在尽可能多的情况下使用 apt (= apt-get) 安装软件包。我逐个检查包,例如 Dockerfile:

RUN apt-get install -y python-scipy
RUN apt-get install -y python-sympy
...
RUN python -m pip install opencv-python==3.4.0.12
RUN python -m pip install pyyaml
...

这意味着:我搜索 apt Python2 安装程序(通常只是 python-PACKAGENAME,而 python3-PACKAGENAME 将用于 Python3),并且如果有 none,我会使用 python -m pip 安装程序(=Python2)。在所有测试之后,我将它们放在两个 运行 命令中,但这是 Dockerfile 用户的一个侧节点。

无论如何。不要只使用 pip install,因为那样会调用你的默认 pip,如果你安装了 pip3,它可能会落在更高版本上。即使没有,也总是使用 python -m pip 更清楚,这样以后就不会混淆,如果以后安装 pip3。

没有测试过,问题的错误可能是pip2被要求安装太新版本的“opencv-python”引起的。然后你需要将“opencv-python”限制为Python2可用的最新版本,即版本3.4.0.12:

python -m pip install opencv-python==3.4.0.12

我 运行 在尝试为 Python 3.6 上的 BigQuery 安装 Google 云平台包 时遇到了类似的问题抛出以下错误:(在我丢失之前无法复制和粘贴,所以这是我得到的确切错误的近似值)

[...]InstallationError: Command "python setup.py egg_info" failed with error code 1 in /tmp/<some_folder>/grpcio/

并且在跟随其他线程使用最推荐的选项升级设置工具、不使用缓存包、使用本地用户选项等之后......没有任何效果

python3 -m pip install --user --no-cache-dir google-cloud-bigquery
python3 -m pip install --upgrade setuptools

然后,当更仔细地查看实际的错误消息时,我可以看到失败的行也指的是我认为可能是另一个依赖包的内容:grpcio

果然如此,我考虑过尝试升级或重新安装 grpcio 软件包,看看会发生什么。

我首先尝试升级该软件包:

python3 -m pip install --no-cache-dir --user --upgrade grpcio

它确实升级得很好。所以接下来我尝试再次升级 google-cloud-bigquery 包,这次它也完美地解决了问题!

所以基本上确保整个依赖链可用并正确安装似乎也可以解决问题,当您考虑时这完全有意义

我希望这对一些人有所帮助。

我在 link https://www.edureka.co/community/69396/command-python-setup-info-failed-error-build-8nhf9w2t-grpcio 之后使用以下命令解决了类似的问题:

$ pip3 install --upgrade setuptools
$ pip3 install --upgrade pip

对我来说,none 以前的工作。解决方案是强制升级 pip,因为升级是在版本内部而不是当前版本,e.i,它类似于 9.0.1,但新版本是 21.1.3

python -m pip install --upgrade --force pip

pip3 install --upgrade setuptools

然后重试安装。我也顺便更新wheel

需要升级你的pip版本

pip 安装--升级 pip

对于 python 3.7,我必须执行以下命令来更新 pipsetuptools 依赖项:

sudo python3.7 -m pip install -U pip
sudo python3.7 -m pip install -U setuptools

对于 python 2.7,我必须更新 pipsetuptools 依赖项并且必须安装 python-dev & libpq-dev 包:

sudo python2.7 -m pip install -U pip
sudo python2.7 -m pip install -U setuptools
sudo apt-get install python-dev libpq-dev

我也有同样的问题

当我执行时:

pip install jupyterlab

它抛出一个错误:

Command "python setup.py egg_info" failed with error code 1 in /private/tmp/pip-build-p0u6Wd/jupyterlab

我试了很多方法,都失败了。

终于在我的电脑里发现了一个花药点:

$ pip --version
pip 6.1.1 from /Library/Python/2.7/site-packages (python 2.7)

$ pip3 --version
pip 21.2.4 from /usr/local/lib/python3.9/site-packages/pip (python 3.9)

我用pip3修复问题:

pip3 install jupyterlab

有时,由于发生另一个错误,可能会引发此错误,因此如果升级对您不起作用,则可能值得使用 --verbose 选项重新运行 pipenv。例如。在我的例子中,事实证明 scikit-image 安装有问题,但我只能在 运行 --verbose:

时看到错误
 ...
 scikit-image==0.19.1 not in cache, need to check index

INFO:pip9._vendor.requests.packages.urllib3.connectionpool:Starting new HTTPS connection (1): pypi.org
INFO:notpip.req.req_set:Collecting scikit-image==0.19.1
INFO:pip9.download:Using cached https://files.pythonhosted.org/packages/e7/54/4b57761f25be6e2536130ca3bc8742dee45bb9047c5df798197203220e37/scikit-image-0.19.1.tar.gz
INFO:pip9.download:Saved /blah/.cache/pipenv/pkgs/scikit-image-0.19.1.tar.gz
INFO:pip9.utils:Complete output from command python setup.py egg_info:
INFO:pip9.utils:Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/tmp/tmpszjqw2gobuild/scikit-image/setup.py", line 20, in <module>
    from pythran.dist import PythranBuildExt as pythran_build_ext
ModuleNotFoundError: No module named 'pythran'

----------------------------------------
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/pipenv/resolver.py", line 82, in <module>
    main()
  File "/usr/lib/python3/dist-packages/pipenv/resolver.py", line 71, in main
    clear=do_clear,
  File "/usr/lib/python3/dist-packages/pipenv/resolver.py", line 63, in resolve
    verbose=verbose,
  File "/usr/lib/python3/dist-packages/pipenv/utils.py", line 425, in resolve_deps
    pre,
  File "/usr/lib/python3/dist-packages/pipenv/utils.py", line 336, in actually_resolve_reps
    resolved_tree.update(resolver.resolve(max_rounds=PIPENV_MAX_ROUNDS))
  File "/usr/lib/python3/dist-packages/pipenv/patched/piptools/resolver.py", line 102, in resolve
    has_changed, best_matches = self._resolve_one_round()
  File "/usr/lib/python3/dist-packages/pipenv/patched/piptools/resolver.py", line 200, in _resolve_one_round
    for dep in self._iter_dependencies(best_match):
  File "/usr/lib/python3/dist-packages/pipenv/patched/piptools/resolver.py", line 297, in _iter_dependencies
    dependencies = self.repository.get_dependencies(ireq)
  File "/usr/lib/python3/dist-packages/pipenv/patched/piptools/repositories/pypi.py", line 174, in get_dependencies
    legacy_results = self.get_legacy_dependencies(ireq)
  File "/usr/lib/python3/dist-packages/pipenv/patched/piptools/repositories/pypi.py", line 222, in get_legacy_dependencies
    result = reqset._prepare_file(self.finder, ireq, ignore_requires_python=True)
  File "/usr/lib/python3/dist-packages/pipenv/patched/notpip/req/req_set.py", line 644, in _prepare_file
    abstract_dist.prep_for_dist()
  File "/usr/lib/python3/dist-packages/pipenv/patched/notpip/req/req_set.py", line 134, in prep_for_dist
    self.req_to_install.run_egg_info()
  File "/usr/lib/python3/dist-packages/pipenv/vendor/pip9/req/req_install.py", line 439, in run_egg_info
    command_desc='python setup.py egg_info')
  File "/usr/lib/python3/dist-packages/pipenv/vendor/pip9/utils/__init__.py", line 707, in call_subprocess
    % (command_desc, proc.returncode, cwd))
pip9.exceptions.InstallationError: Command "python setup.py egg_info" failed with error code 1 in /tmp/tmpszjqw2gobuild/scikit-image/