【问题标题】:Command "python setup.py egg_info" failed with error code 1 in /tmp/..../命令“python setup.py egg_info”失败,错误代码 1 在 /tmp/..../
【发布时间】:2021-01-13 14:49:47
【问题描述】:

使用 pip 安装依赖项时出现以下错误:

pip9.exceptions.InstallationError 命令“python setup.py egg_info”在/tmp/tmpoons7qgkbuild/opencv-python/中失败,错误代码为1

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

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/

【问题讨论】:

标签: python pip pipenv


【解决方案1】:

如何修复pip9.exceptions.InstallationError

确保pipsetuptools 的版本足以支持manylinux2014 wheels

A) 系统安装

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

B) 虚拟环境/管道

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

说明

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

【讨论】:

    【解决方案2】:

    我通过此链接https://www.edureka.co/community/69396/command-python-setup-info-failed-error-build-8nhf9w2t-grpcio 并使用以下命令解决了类似问题:

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

    【讨论】:

    • 一开始没用。我必须在我的虚拟环境中执行此操作。然后它工作得很好。
    【解决方案3】:

    我在尝试在 Python 3.6 上为 BigQuery 安装 Google Cloud Platform 软件包 时遇到了类似的问题,这引发了以下错误:(之前无法复制和粘贴我把它弄丢了,所以这是我得到的确切错误的近似值)

    [...]InstallationError: 命令“python setup.py egg_info”失败 /tmp//grpcio/

    中的错误代码 1

    在使用最推荐的选项来升级 setuptools、不使用缓存的包、使用本地用户选项等其他线程之后......没有任何效果

    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 包,这次它也完美运行,解决了问题!

    所以基本上,确保整个依赖链可用并正确安装似乎也可以做到这一点,当你考虑它时,这完全有道理

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

    【讨论】:

    • 我在为 BigQuery 安装 Google Cloud Platform 软件包时也遇到了完全相同的错误,结果我需要做的就是升级 pip (pip install --upgrade pip)。
    【解决方案4】:

    我也有同样的问题。

    当我执行时:

    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
    

    【讨论】:

      【解决方案5】:

      在一个需要 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),如果没有,我将使用 python -m pip 安装程序(=Python2 也是如此) .经过所有测试,我将它们放在两个 RUN 命令中,但这是 Dockerfile 用户的一个侧节点。

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

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

      python -m pip install opencv-python==3.4.0.12
      

      【讨论】:

        【解决方案6】:

        对我来说,以前的方法都不起作用。解决方案是强制升级 pip,因为升级是在版本内部而不是当前版本,例如,它类似于 9.0.1,但新版本是 21.1.3

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

        pip3 install --upgrade setuptools

        然后重试安装。我还会一路更新wheel

        【讨论】:

          【解决方案7】:

          对于python3.7,我必须执行以下命令来更新pipsetuptools依赖:

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

          对于 python 2.7,我必须更新 pipsetuptools 依赖项并且必须安装 python-devlibpq-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
          

          【讨论】:

          • 当尝试运行其中任何一个时,我得到这个错误:Collecting pip Downloading https://files.pythonhosted.org/packages/83/37/3f344e392de7792748ee32e05d7dd6f867eb2166c21c8711280fb30e2128/pip-21.2.2.tar.gz (1.6MB) 100% |████████████████████████████████| 1.6MB 415kB/s Complete output from command python setup.py egg_info: Traceback (most recent call last): File "<string>", line 1, in <module> File "/tmp/pip-build-FQFMD7/pip/setup.py", line 7 def read(rel_path: str) -> str: ^ SyntaxError: invalid syntax
          • 它后面的评论是:Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-FQFMD7/pip/。有什么办法可以解决吗?好像我不能在 python2.7 中使用 pip 来做任何事情
          【解决方案8】:

          有时,由于发生另一个错误,可能会引发此错误,因此如果升级对您不起作用,则可能值得使用 --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/
          

          【讨论】:

            【解决方案9】:

            需要升级你的 pip 版本

            pip install --upgrade pip

            【讨论】:

              猜你喜欢
              • 2014-02-26
              • 2019-08-10
              • 2017-12-13
              • 2021-10-23
              • 2016-02-14
              • 2016-12-18
              • 2017-02-20
              相关资源
              最近更新 更多