【问题标题】:Installing NumPy using Pip on Windows在 Windows 上使用 Pip 安装 NumPy
【发布时间】:2017-08-20 01:53:15
【问题描述】:

我下载了 Python 3.6.1,它预装了 Pip。我写了这个命令来安装 numpy

C:\Python36-32>python -m pip install numpy  

我得到这个作为输出:

收集 numpy 无法获取 URL https://pypi.python.org/simple/numpy/: 确认有问题 ssl 证书:[SSL: CERTIFICATE_VERIFY_FAILED] 证书 验证失败 (_ssl.c:749) - 跳过找不到一个版本 满足 numpy 的要求(来自版本:)没有匹配 找到 numpy 的分布

我该如何解决这个问题?
PS:我在 Windows 10 上执行此操作,命令提示符以管理员身份运行。

【问题讨论】:

  • pip install numpy 是我运行的命令
  • 我也得到了同样的结果。
  • 如果是我,我不会使用最新版本的 python。如果可能的话,坚持使用 3.5/3.4,它的语法相同,但兼容性更高

标签: python-3.x numpy ssl pip


【解决方案1】:

我使用以下命令解决了这个问题:

pip install numpy --index-url=http://pypi.python.org/simple/ --trusted-host pypi.python.org

This 的回答帮我弄明白了。

【讨论】:

    【解决方案2】:

    我已经使用以下命令解决了这个问题:

    python.exe -m pip install numpy
    

    例如:

    C:\Users\Suresh\AppData\Local\Programs\Python\Python37>python.exe -m pip install numpy
    

    【讨论】:

      【解决方案3】:

      确保您首先通过选中您的 python exe 上的添加路径框将 python 路径添加到您的计算机。然后在您的命令提示符下运行 pip install numpy

      【讨论】:

      • 答案与问题无关。
      【解决方案4】:

      在我的情况下(Dockerfile 或 Linux),我们希望从requirement*.txt 文件中安装pip 模块,该文件在文件中定义了锁定模块的版本strong> 从内部 Artifactory 服务器获取(而不是在线访问,即 pypi.org

      例如:requirements.txt 文件

      numpy==1.16.2
      pandas==1.0.3
      ..
      ...
      

      要解决此问题:我必须使用 NO_PROXY=<value> 作为环境变量。

      假设您的工件服务器是:my-artifactory.company.local 或 my-artifactory.company.com,那么我们只需要确保NO_PROXY 变量的值中列出了该主机名的“domain”部分。

      即为了 my-artifactory.company.com 或 my-artifactory.company.local,value inside

      NO_PROXY 变​​量必须包含:,.company.com,.company.local,...

      示例导出的变量(在命令行 $ 提示符):

      export NO_PROXY=localhost,127.0.0.1,169.254.169.254,169.254.169.123,.somecompany.com,.company.com,.company.local,pki.company.com,s3-us-gov-west-1.amazonaws.com,s3-fips-us-gov-west-1.amazonaws.com,rds.amazonaws.com,10.201.12.244,10.201.44.62,10.201.32.261

      ====

      如果您使用的是Dockerfile,那么请确保您正确设置了 ARG/ENV 变量。 ARG 在构建时使用(可以在命令行中使用 --build-arg 选项覆盖发送到docker build -t tag .,它将在当前目录中搜索 Dockerfile 并创建映像。ENV 在运行时使用(docker run ) 并且也可以被覆盖。

      示例 Dockerfile 是:

      FROM python:3.7
      
      MAINTAINER giga.sangal@company.com
      
      ARG PYTHONBUFFERED=0
      ARG HTTPS_PROXY=http://proxy.ext.company.com:80
      ARG HTTP_PROXY=http://proxy.ext.company.com:80
      ARG NO_PROXY=localhost,127.0.0.1,169.254.169.254,.company.com,.company.local,pki.company.com,s3-us-gov-west-1.amazonaws.com,s3-fips-us-gov-west-1.amazonaws.com,rds.amazonaws.com
      
      ENV PYTHONBUFFERED=${PYTHONBUFFERED}
      ENV HTTPS_PROXY=${HTTPS_PROXY}
      ENV HTTP_PROXY=${HTTP_PROXY}
      ENV NO_PROXY=${NO_PROXY}
      
      # If there are 3 requirements files in source control, I'm copy all for pip install, you don't have to. Use what modules you want / file you want.    
      RUN mkdir -p code
      COPY requirements.txt /code
      COPY requirements-test.txt /code
      COPY requirements-dev.txt /code
      
      WORKDIR /code
      
      # You can fetch from pypi.org but in my case, this was a security issue.
      # RUN pip install --trusted-host pypi.org -r requirements.txt
      
      RUN pip install --no-cache-dir --trusted-host my-artifactory.company.local -r requirements.txt -r requirements-test.txt -r requirements-dev.txt --index-url http://my-artifactory.company.local:8081/artifactory/api/pypi/pypi-local-deps/simple --disable-pip-version-check
      

      在我的案例中解决问题的主线是使用 NO_PROXY(如上所列)。

      任何与 pip 模块相关的问题,或未找到模块版本,或任何 SSL 错误SSLError(SSLCertVerificationError 类似错误,在 cmd 行 应用上述 NO_PROXY 后消失Dockerfile

      WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self signed certificate in certificate chain (_ssl.c:1091)'))': /simple/requests/
      

      ERROR: Could not find a version that satisfies the requirement requests
      ERROR: No matching distribution found for requests
      

      ERROR: Could not find a version that satisfies the requirement numpy==1.16.2
      ERROR: No matching distribution found for numpy==1.16.2
      

      【讨论】:

        猜你喜欢
        • 2015-06-12
        • 2014-12-26
        • 1970-01-01
        • 2016-06-26
        • 1970-01-01
        • 2016-12-31
        相关资源
        最近更新 更多