本文介绍了如何修复“由于环境错误而无法安装软件包:[WinError 123]"?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试使用 python 3.8 下载一些软件包,但是每次我尝试安装诸如 sklearnscipy 之类的软件包时,我都会得到这个错误:

I'm trying to download a few packages using python 3.8 but every time i try to install packages like sklearn or scipy I get this error:

由于 EnvironmentError 无法安装软件包:[WinError 123] 文件名、目录名或卷标语法不正确:'"C:'

我重新安装了 Visual Studios,认为它必须对构建工具执行某些操作,但我仍然收到错误消息.我也试过以管理员身份运行 pycharm 并使用 --user 但无济于事.我也试过在我的家用电脑上下载相同的软件包,但我遇到了同样的错误.

I reinstalled Visual studios thinking it had to do something with the build tools but i still get the error. I've also tried running pycharm as administrator and using --user but to no avail. I've also tried downloading the same packages on my home PC but I get the same error.

这是我得到的完整错误

  Using cached https://files.pythonhosted.org/packages/1e/7a/dbb3be0ce9bd5c8b7e3d87328e79063f8b263b2b1bfa4774cb1147bfcd3f/sklearn-0.0.tar.gz
Collecting scikit-learn (from sklearn)
  Using cached https://files.pythonhosted.org/packages/18/28/5a48b00599b476875415b97bdfdb3849bafb31183c1d785501dbc8a77aa2/scikit-learn-0.22.1.tar.gz
Requirement already satisfied: numpy>=1.11.0 in c:\users\hp omen\pycharmprojects\evaltrade\venv\lib\site-packages (from scikit-learn->sklearn) (1.18.1)
Collecting scipy>=0.17.0 (from scikit-learn->sklearn)
  Using cached https://files.pythonhosted.org/packages/04/ab/e2eb3e3f90b9363040a3d885ccc5c79fe20c5b8a3caa8fe3bf47ff653260/scipy-1.4.1.tar.gz
  Installing build dependencies: started
  Installing build dependencies: still running...
  Installing build dependencies: finished with status 'error'
  Complete output from command "C:\Users\HP Omen\PycharmProjects\evalTrade\venv\Scripts\python.exe" "C:\Users\HP Omen\PycharmProjects\evalTrade\venv\lib\site-packages\pip-19.0.3-py3.8.egg\pip" install --ignore-installed --no-user --prefix "C:\Users\HP Omen\AppData\Local\Temp\pip-build-env-4p9slqe7\overlay" --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- wheel setuptools Cython>=0.29.13 "numpy==1.13.3; python_version=='3.5' and platform_system!='AIX'" "numpy==1.13.3; python_version=='3.6' and platform_system!='AIX'" "numpy==1.14.5; python_version=='3.7' and platform_system!='AIX'" "numpy==1.17.3; python_version>='3.8' and platform_system!='AIX'" "numpy==1.16.0; python_version=='3.5' and platform_system=='AIX'" "numpy==1.16.0; python_version=='3.6' and platform_system=='AIX'" "numpy==1.16.0; python_version=='3.7' and platform_system=='AIX'" "numpy==1.17.3; python_version>='3.8' and platform_system=='AIX'" pybind11>=2.4.0:
  Ignoring numpy: markers 'python_version == "3.5" and platform_system != "AIX"' don't match your environment
  Ignoring numpy: markers 'python_version == "3.6" and platform_system != "AIX"' don't match your environment
  Ignoring numpy: markers 'python_version == "3.7" and platform_system != "AIX"' don't match your environment
  Ignoring numpy: markers 'python_version == "3.5" and platform_system == "AIX"' don't match your environment
  Ignoring numpy: markers 'python_version == "3.6" and platform_system == "AIX"' don't match your environment
  Ignoring numpy: markers 'python_version == "3.7" and platform_system == "AIX"' don't match your environment
  Ignoring numpy: markers 'python_version >= "3.8" and platform_system == "AIX"' don't match your environment
  Collecting wheel
    Using cached https://files.pythonhosted.org/packages/81/44/db78754a73d9a88c5bd1bb692b40004410970e88aa0c5dff20b57f231505/wheel-0.34.1-py2.py3-none-any.whl
  Collecting setuptools
    Using cached https://files.pythonhosted.org/packages/a7/c5/6c1acea1b4ea88b86b03280f3fde1efa04fefecd4e7d2af13e602661cde4/setuptools-45.1.0-py3-none-any.whl
  Collecting Cython>=0.29.13
    Using cached https://files.pythonhosted.org/packages/9c/9b/706dac7338c2860cd063a28cdbf5e9670995eaea408abbf2e88ba070d90d/Cython-0.29.14.tar.gz
  Collecting numpy==1.17.3
    Using cached https://files.pythonhosted.org/packages/b6/d6/be8f975f5322336f62371c9abeb936d592c98c047ad63035f1b38ae08efe/numpy-1.17.3.zip
  Collecting pybind11>=2.4.0
    Using cached https://files.pythonhosted.org/packages/4b/4d/ae1c4d8e8b139afa9682054dd42df3b0e3b5c1731287933021b9fd7e9cc4/pybind11-2.4.3-py2.py3-none-any.whl
  Installing collected packages: wheel, setuptools, Cython, numpy, pybind11
    Running setup.py install for Cython: started
      Running setup.py install for Cython: finished with status 'done'
    Running setup.py install for numpy: started
      Running setup.py install for numpy: still running...
      Running setup.py install for numpy: finished with status 'done'
  Could not install packages due to an EnvironmentError: [WinError 123] The filename, directory name, or volume label syntax is incorrect: '"C:'


  ----------------------------------------

Command ""C:\Users\HP Omen\PycharmProjects\evalTrade\venv\Scripts\python.exe" "C:\Users\HP Omen\PycharmProjects\evalTrade\venv\lib\site-packages\pip-19.0.3-py3.8.egg\pip" install --ignore-installed --no-user --prefix "C:\Users\HP Omen\AppData\Local\Temp\pip-build-env-4p9slqe7\overlay" --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- wheel setuptools Cython>=0.29.13 "numpy==1.13.3; python_version=='3.5' and platform_system!='AIX'" "numpy==1.13.3; python_version=='3.6' and platform_system!='AIX'" "numpy==1.14.5; python_version=='3.7' and platform_system!='AIX'" "numpy==1.17.3; python_version>='3.8' and platform_system!='AIX'" "numpy==1.16.0; python_version=='3.5' and platform_system=='AIX'" "numpy==1.16.0; python_version=='3.6' and platform_system=='AIX'" "numpy==1.16.0; python_version=='3.7' and platform_system=='AIX'" "numpy==1.17.3; python_version>='3.8' and platform_system=='AIX'" pybind11>=2.4.0" failed with error code 1 in None

推荐答案

真正的答案是:你不应该修复它,Python/包开发者应该修复它.您应该确定无法安装的确切软件包并将错误报告给其开发人员.
在您的情况下 NumPy 是原因,并且已经有一个 错误报告 为此,正如@eoorochena 所说.

The real answer is: you shouldn't fix it, Python / package devs should. You should determine the exact package which fails to install and report a bug back to its devs.
In your case NumPy is the cause and there's already a bug report for this, as @eorochena says.

至于您的问题,如果您将使用过时或最新的 Python 版本,但该软件包没有可用的轮子,则仍然可能发生这种情况.
在这种情况下,您可以尝试两种选择:

As for your problem, it can still happen if you will use an outdated or very recent Python version, for which there's no wheel available for the package.
In such case there are two options you could try:

  • 使用以下命令从官方轮中强制安装较旧的软件包版本:
pip install --only-binary :all: <failing_package>

  • 此处下载非官方软件包轮子,并使用以下命令:

  • Download unofficial package wheel from here and install it using the following command:

    pip install <path\to\failing_package.whl>
    

  • 嗯,这很奇怪... 根据 PyPI,在您询问时,实际上有一个用于 numpy==1.17.3 的官方 Python 3.8 轮子...
    您的日志说它使用了缓存的 NumPy 源.也许您应该尝试使用 --no-cache-dir 选项运行它?

    Hmm, that's strange... According to PyPI there was actually an official Python 3.8 wheel available for numpy==1.17.3 at the time you asked...
    Your log says it was using cached NumPy sources. Maybe you should've tried running it with --no-cache-dir option?

    这篇关于如何修复“由于环境错误而无法安装软件包:[WinError 123]"?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

    08-23 17:55