python 版本:3.6(Intel Distribution for Python for Windows 2018 update 1)
虚拟环境版本:15.1.0
windows 版本:windows 10 pro,内部版本 17101.rs4_release.180211-1040
我只执行了 2 个命令,这是 Powershell 的输出:
PS E:\Python\Virtualenv\Scripts> .\activate
(Virtualenv) PS E:\Python\Virtualenv\Scripts> pip install numpy
pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.
Collecting numpy
Could not fetch URL https://pypi.python.org/simple/numpy/: There was a problem confirming the ssl certificate: Can't connect to HTTPS URL because the SSL module is not available. - skipping
Could not find a version that satisfies the requirement numpy (from versions: )
No matching distribution found for numpy
这个目录Python
并不是安装python的地方,它只是一个普通目录。
我试过安装一些独立的openssl,比如来自here的那个,但它们都不起作用。
我假设使用的pip
是您的virtualenv
中的那个。 你的_system_ pip
可以安装吗? 如果不是,这可能不是 virtualenv 问题...
@tobiasherp
系统pip
是可以的,但是 virtualenv 中的pip
$ 就不行了。
我不知道问题出在哪里,我什至在谷歌上都找不到类似的情况。 :(
不仅numpy
,它不能在线安装任何软件包。 但是如果有wheel文件,则可以成功安装,因此我认为问题可能与SSL有关。
对了,PyPI 现在使用 https,所以你需要 ssl 支持。 如果您的系统 Python 没有它,那么您的 virtualenv 也不会拥有它。 使用 Python 3,您应该能够导入ssl
模块:
>>> import ssl
您最好的选择可能是切换到具有ssl
模块的解释器。
我刚刚从https://www.python.org/下载的 3.6.4 解释器似乎支持 ssl。
AFAICS,这不是virtualenv
问题; 提议关闭它。
这可能不是一个venv问题,但它仍然是一个问题。 在我的实例中,我无法在 venv 或系统 pip 中安装
我在 Win 10 64 位上安装了 IntelPython3,是的,它安装并编译了 openssl,但由于某种原因,事情不起作用
我见过这个:[(https://software.intel.com/en-us/forums/intel-distribution-for-python/topic/737878#comment-1920719)]
但我无法解决这个问题的版本。
关于这个问题的任何建议都会非常有帮助
@theCJMan你还在遇到这个问题吗?
我已经解决了这个问题
2018 年 4 月 17 日星期二 19:44 Sumana Harihareswara, notifications @github.com
写道:
@theCJMan https://github.com/theCJMan你还在经历这个吗
问题?—
你收到这个是因为你被提到了。
直接回复此邮件,在 GitHub 上查看
https://github.com/pypa/virtualenv/issues/1139#issuecomment-382081077 ,
或使线程静音
https://github.com/notifications/unsubscribe-auth/AkTyyw5zfrJFZleItkAkrR1_kE9R-C8Cks5tpioOgaJpZM4SWUf4
.
传输层安全性或 TLS 是我们确保您的计算机和 PyPI 之间的连接是私密和安全的一部分。 它是一种加密协议,随着时间的推移有多个版本。
您需要使用 TLS 支持库(例如最新版本的 OpenSSL)连接到 PyPI。 您需要采取的具体步骤取决于您的操作系统版本、您的 Python 安装来源(python.org、您的操作系统供应商或中间分销商)以及已安装的 Python 版本setuptools
, pipenv
和pip
。 如需帮助,请转到Freenode 上的#pypa IRC 频道,在pypa/packaging-problems/issues提交问题,或发布到 python-help 邮件列表,包括您的操作系统和安装详细信息以及pip install -vvv的输出
我也在 macos、python 2.7.15 上也遇到过这种情况——系统 python 运行良好,虚拟环境安装失败,原因是
pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.
我的系统 python 导入 ssl 很好,但是 venv python 给出了以下错误:
raceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/Cellar/python@2/2.7.15_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ssl.py", line 126, in <module>
from _ssl import HAS_SNI, HAS_ECDH, HAS_NPN, HAS_ALPN, HAS_TLSv1_3
ImportError: cannot import name HAS_TLSv1_3
删除 env 目录并重新创建 env 后,一切正常。
我遇到了与@liurui39660相同的问题,也使用 Intel Python Distribution和python -m venv
来创建我的 venv。 这似乎是ssl
pip
无关:
(venv) C:\Users\ceefour\git\tews\ecn-svc>python
Python 3.6.3 |Anaconda custom (64-bit)| (default, May 3 2018, 23:39:44) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
Intel(R) Distribution for Python is brought to you by Intel Corporation.
Please check out: https://software.intel.com/en-us/python-distribution
>>> import ssl
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\ProgramData\Anaconda3\lib\ssl.py", line 101, in <module>
import _ssl # if we can't import it, let the error propagate
ImportError: DLL load failed: The operating system cannot run %1.
>>>
请注意,只有在 venv 中使用 Intel Python 时才会触发该错误。 使用基本环境时,它可以工作:
(base) C:\Users\ceefour>python
Python 3.6.3 |Anaconda custom (64-bit)| (default, May 3 2018, 23:39:44) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
Intel(R) Distribution for Python is brought to you by Intel Corporation.
Please check out: https://software.intel.com/en-us/python-distribution
>>> import ssl
>>>
更新:这个线程似乎是一个线索:
Rohit J.(英特尔)周四,2017 年 7 月 6 日 - 21:40
pip 在 Windows 上无法用于 IDP 和 Miniconda。 问题的根源在于安装在系统路径中的冲突库 (libeay32.dll)。 在运行时,这个库的加载优先于我们发布的内容。 存在版本冲突,执行将失败并显示“ImportError: DLL load failed: The operating system cannot run %1.”。 从系统路径中删除这个无关的库解决了这个问题。
我在 C:\Program Files 中有 _lots_ of libeay32.dll
C:\Program Files
,包括C:\ProgramData\Anaconda3\Library\bin
中的一个
我尝试将C:\ProgramData\Anaconda3\Library\bin
移动到PATH
的前面,但仍然会发生错误。
我遇到过同样的问题。 我正在用 python 和 jupyter 用 anaconda 配置新计算机,当我尝试使用 pip 安装包时出现问题。
基于上面的讨论,这是一个环境问题,我尝试在Anaconda Prompt而不是cmd中运行“pip install”命令。 并且执行了 pip 命令。 😁
从昨天开始,在使用 Anaconda3 安装 Python 3.7.1 之后,我仍在努力追随
pip 配置了需要 TLS/SSL 的位置,但是 Python 中的 ssl 模块不可用。
连接被 'SSLError("Can't connect to HTTPS URL because the SSL module is not available.") 中断后重试 (Retry(total=4, connect=None, read=None, redirect=None, status=None)) ':/简单/点子/
连接被 'SSLError("Can't connect to HTTPS URL because the SSL module is not available.") 中断后重试 (Retry(total=3, connect=None, read=None, redirect=None, status=None)) ':/简单/点子/
连接被 'SSLError("Can't connect to HTTPS URL because the SSL module is not available.") 中断后重试 (Retry(total=2, connect=None, read=None, redirect=None, status=None)) ':/简单/点子/
连接被 'SSLError("Can't connect to HTTPS URL because the SSL module is not available.") 中断后重试 (Retry(total=1, connect=None, read=None, redirect=None, status=None)) ':/简单/点子/
连接被 'SSLError("Can't connect to HTTPS URL because the SSL module is not available.") 中断后重试 (Retry(total=0, connect=None, read=None, redirect=None, status=None)) ':/简单/点子/
无法获取 URL https://pypi.org/simple/pip/ :确认 ssl 证书时出现问题:HTTPSConnectionPool(host='pypi.org', port=443):最大重试次数超过 url:/simple/ pip/(由 SSLError 引起(“无法连接到 HTTPS URL,因为 SSL 模块不可用。”))- 跳过
要求已经更新:d:\anaconda3\lib\site-packages (18.1) 中的 pip
pip 配置了需要 TLS/SSL 的位置,但是 Python 中的 ssl 模块不可用。
无法获取 URL https://pypi.org/simple/pip/ :确认 ssl 证书时出现问题:HTTPSConnectionPool(host='pypi.org', port=443):最大重试次数超过 url:/simple/ pip/(由 SSLError 引起(“无法连接到 HTTPS URL,因为 SSL 模块不可用。”))- 跳过
我有同样的问题。 使用 willliu1995 建议解决了这个问题。 从 cmd 提示符运行 pip 也没有用,但启动 jupyter notebook 并运行 !pip install
如果 pip install pandas 在 CMD 提示符下不起作用,请使用 Anaconda 提示符运行它 - 它可以工作。 您可以使用以下命令找到 Anaconda 提示:
将鼠标移至 Windows 图标(左下方)并开始输入“Anaconda”。 应该显示一些匹配的条目。 选择“Anaconda 提示”。 将打开一个名为“Anaconda Prompt”的新命令窗口。 来源 - https://stackoverflow.com/questions/47914980/how-to-access-anaconda-command-prompt-in-windows-10-64-bit
如果您更喜欢使用 Windows 命令提示符,则需要将以下目录添加到您的 Windows 环境路径:
%Miniconda3_DIR%;%Miniconda3_DIR%\Library\mingw-w64\bin;%Miniconda3_DIR%\Library\usr\bin;%Miniconda3_DIR%\Library\bin;%Miniconda3_DIR%\Scripts;%Miniconda3_DIR%\bin;
[其中, %Miniconda3_DIR%
应替换为您的 Miniconda(或 Anaconda)安装路径]
例如,我的 Miniconda 安装在E:\Portable\Miniconda3
。 所以我的 Windows PATH 必须包含这些文件夹:
E:\Portable\Miniconda3;E:\Portable\Miniconda3\Library\mingw-w64\bin;E:\Portable\Miniconda3\Library\usr\bin;E:\Portable\Miniconda3\Library\bin;E:\Portable\Miniconda3\Scripts;E:\Portable\Miniconda3\bin;
@shriprem谢谢! 有效。 您的解决方案确认这是系统路径问题,因为通常只需将 %Miniconda3_DIR%\Scripts 添加到 PATH 变量即可使用 pip。 知道为什么这会改变吗?
@EthanBackToLife我检查了 Anaconda 提示符中的 PATH 环境变量,发现 Anaconda 将所有这些目录都添加到其提示符 PATH 变量中。 所以我将该路径的增量部分附加到 Windows PATH 变量中,以确认它适用于 pip。
在尝试在另一台 PC 上安装 Conda 时,我可以将路径更改改进为更短: %Miniconda3_DIR%;%Miniconda3_DIR%\Scripts;%Miniconda3_DIR%\Library\bin
[事后看来,我们看到在我之前的帖子中添加到路径中的其他目录在全新的 Conda 安装中不存在/为空。]
通过缩小路径,我们可以查看%Miniconda3_DIR%\Library\bin
文件夹。 在这里,我们找到了如下文件: libcrypto-1_1-x64.dll, libcrypto-1_1-x64.pdb, libssl-1_1-x64.dll, openssl.exe, libssl-1_1-x64.pdb, openssl.pdb
,我认为这些文件对于解决 pip(和 conda)包安装的 SSL/TLS 问题至关重要。
python 版本:3.6(Intel Distribution for Python for Windows 2018 update 1)
虚拟环境版本:15.1.0
windows 版本:windows 10 pro,内部版本 17101.rs4_release.180211-1040我只执行了 2 个命令,这是 Powershell 的输出:
PS E:\Python\Virtualenv\Scripts> .\activate (Virtualenv) PS E:\Python\Virtualenv\Scripts> pip install numpy pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available. Collecting numpy Could not fetch URL https://pypi.python.org/simple/numpy/: There was a problem confirming the ssl certificate: Can't connect to HTTPS URL because the SSL module is not available. - skipping Could not find a version that satisfies the requirement numpy (from versions: ) No matching distribution found for numpy
这个目录
Python
并不是安装python的地方,它只是一个普通目录。我试过安装一些独立的openssl,比如来自here的那个,但它们都不起作用。
我遇到了和你一样的问题,我尝试使用命令 .\activate ,然后完美地解决了这个问题,我不能再感谢你了。
@EthanBackToLife我检查了 Anaconda 提示符中的 PATH 环境变量,发现 Anaconda 将所有这些目录都添加到其提示符 PATH 变量中。 所以我将该路径的增量部分附加到 Windows PATH 变量中,以确认它适用于 pip。
在尝试在另一台 PC 上安装 Conda 时,我可以将路径更改改进为更短:
%Miniconda3_DIR%;%Miniconda3_DIR%\Scripts;%Miniconda3_DIR%\Library\bin
[事后看来,我们看到在我之前的帖子中添加到路径中的其他目录在全新的 Conda 安装中不存在/为空。]通过缩小路径,我们可以查看
%Miniconda3_DIR%\Library\bin
文件夹。 在这里,我们找到了如下文件:libcrypto-1_1-x64.dll, libcrypto-1_1-x64.pdb, libssl-1_1-x64.dll, openssl.exe, libssl-1_1-x64.pdb, openssl.pdb
,我认为这些文件对于解决 pip(和 conda)包安装的 SSL/TLS 问题至关重要。
很好的解释! 谢谢你。
在做了@shriprem评论后,我仍然遇到这个问题。 Python 3.7.1 版和 pip 18.1 版,如果有帮助的话。
“我可以通过在系统环境中添加具有 libeay32.dll(在我的情况下为 ..\IntelPython3\pkgs\openssl-1.0.2l-vc14_intel_0\Library\bin)作为最高位置的 intel-python 的 dir 路径来解决这个问题。 "
参考: https ://software.intel.com/en-us/forums/intel-distribution-for-python/topic/737878
我发现使用 pip 需要在“脚本”目录中
对于 Windows 10 如果 pip install 在 CMD 提示符下不起作用,请使用 Anaconda 提示符运行它 - 它可以工作。
如果您想在普通 CMD 中使用 pip,而不仅仅是在 Anaconda 提示符下。
您需要添加 3 个环境路径。
像这些:
D:\Anaconda3;
D:\Anaconda3\脚本;
D:\Anaconda3\库\bin
大多数人只添加 D:\Anaconda3\Scripts;
在环境用户变量中指定路径 C:\Anaconda3\Library\bin。
或者
只需检查是否在基础 python 中安装了 openssl
如果不只是使用以下命令安装
点安装 pyopenssl
我相信路径已正确添加,但无论是在 CMD 还是在 Anaconda 提示符下,pip 仍然无法正常工作。
您是否尝试过“脚本”目录?
您是否尝试过“脚本”目录?
如果您的意思是 cd xxx/Scripts 然后 pip install,我刚才试过了,但它不起作用。
@SnarkyPapi ,您说“我相信路径添加正确。” 要确认这一事实,请运行下面以粗体列出的 4 个命令。
命令:>其中python
输出应该类似于:_C:\Miniconda3-x64\python.exe_
命令:>其中点子
输出应该类似于:_C:\Miniconda3-x64\Scriptspip.exe_
命令:>其中openssl
输出应该是这样的:
[请注意,openssl.exe 可能安装在环境路径的多个位置。 就我而言,openssl 也已作为 Perl 安装的一部分安装]
_C:\Perl\c\bin\openssl.exe
C:\Miniconda3-x64\Library\bin\openssl.exe_
命令:>其中 libssl-1_1-x64.dll
输出应该类似于:_C:\Miniconda3-x64\Library\bin\libssl-1_1-x64.dll_
对于其中任何一种,如果您得到一个显示“信息:找不到给定模式的文件。”的输出,那么您的环境缺少 pip 所需的路径组件之一。
嗨,这 4 个命令运行良好,第 4 个命令显示 2 行:
C:\Windows\System32\libssl-1_1-x64.dll
C:\Anaconda\Library\bin\libssl-1_1-x64.dll
看起来你可能想把 "C:\Anaconda\Library\bin" 放在 $PATH 的开头
看起来您可能想将“C:\Anaconda\Library\bin”放在 $PATH 的开头
刚刚试了一下,问题依旧。
你能echo %PATH%
您可能已经打开一个新终端以更改 PATH
替代解决方案:我只是通过在 C:\Users\my_user_namepip 下创建一个 pip.ini 文件来使其工作,写:
[全球的]
index-url= http://pypi.douban.com/simple/
[安装]
可信主机=pypi.douban.com
它暂时解决了这个问题,但是使用这个镜像的下载速度并不是很快(大约 800kb/s)。 有没有办法让它像往常一样工作?
你能
echo %PATH%
您可能已经打开一个新终端以更改 PATH
C:\Anaconda\Library\bin;D:\Software\NVIDIA GPU Computing Toolkit\CUDA\v10.0\bin;D:\Software\NVIDIA GPU Computing Toolkit\CUDA\v10.0\libnvvp;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\Program Files (x86)\Razer Chroma SDK\bin;D:\Software\Razer Chroma SDK\bin;C:\windows\system32;C:\windows ;C:\windows\System32\Wbem;C:\windows\System32\WindowsPowerShell\v1.0\;C:\windows\System32\OpenSSH\;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common; D:\Software\PuTTY\;C:\windows\system32\config\systemprofile\AppData\Local\Microsoft\WindowsApps;D:\Software\dotnet\;D:\Software\MySQL\MySQL Utilities 1.6\;C:\ Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;D:\Software\Git\cmd;C:\Users\Cyrilpippip.ini;C:\Anaconda;C:\ Anaconda\Library\mingw-w64\bin;C:\Anaconda\Library\usr\bin;C:\Anaconda\Scripts;C:\Anaconda\bin;C:\Anaconda\Library\bin;C:\Anaconda;C :\Anaconda\Library\mingw-w64\bin;C:\Anaconda\Library\usr\bin;C:\Anaconda\Scripts;C:\Anaconda\bin;D:\Software\D ocker 工具箱;C:\Users\Cyrilpippip.ini;
SSL 库位于您的C:\anaconda\Library\bin文件夹中。 您必须在尝试安装库时设置该路径。 这是因为,当您激活虚拟环境时,PATH 会更改。
所以,
set PATH=C:\anaconda;C:\anaconda\Scripts;C:\anaconda\Library\bin
pip install any_library
or
pip install -r requirements.txt
set PATH=C:\venvs\ve1\;C:\venvs\ve1\Scripts;C:\anaconda\Library\bin
pip install any_library
or
pip install -r requirements.txt
请注意,C:\anaconda\Library\bin 在这两种情况下都是一致的,无论您是否在 vm 中工作。
@datatravelgit嗨,我没有使用虚拟环境,手动设置路径后仍然存在此问题。
感谢上面的有用评论! 在 Windows 10 上将以下内容添加到路径变量对我有用:
C:\用户...\Anaconda3
C:\用户...\Anaconda3\脚本
C:\Users...\Anaconda3\Library\bin
我遇到了与@liurui39660相同的问题,也使用 Intel Python Distribution _and_
python -m venv
创建我的 venv。 这似乎是ssl
pip
无关:(venv) C:\Users\ceefour\git\tews\ecn-svc>python Python 3.6.3 |Anaconda custom (64-bit)| (default, May 3 2018, 23:39:44) [MSC v.1900 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information. Intel(R) Distribution for Python is brought to you by Intel Corporation. Please check out: https://software.intel.com/en-us/python-distribution >>> import ssl Traceback (most recent call last): File "<stdin>", line 1, in <module> File "C:\ProgramData\Anaconda3\lib\ssl.py", line 101, in <module> import _ssl # if we can't import it, let the error propagate ImportError: DLL load failed: The operating system cannot run %1. >>>
请注意,只有在 venv 中使用 Intel Python 时才会触发该错误。 使用基本环境时,它可以工作:
(base) C:\Users\ceefour>python Python 3.6.3 |Anaconda custom (64-bit)| (default, May 3 2018, 23:39:44) [MSC v.1900 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information. Intel(R) Distribution for Python is brought to you by Intel Corporation. Please check out: https://software.intel.com/en-us/python-distribution >>> import ssl >>>
更新:这个线程似乎是一个线索:
Rohit J.(英特尔)周四,2017 年 7 月 6 日 - 21:40
pip 在 Windows 上无法用于 IDP 和 Miniconda。 问题的根源在于安装在系统路径中的冲突库 (libeay32.dll)。 在运行时,这个库的加载优先于我们发布的内容。 存在版本冲突,执行将失败并显示“ImportError: DLL load failed: The operating system cannot run %1.”。 从系统路径中删除这个无关的库解决了这个问题。我在 C:\Program Files 中有 _lots_ of
libeay32.dll
C:\Program Files
,包括C:\ProgramData\Anaconda3\Library\bin
中的一个我尝试将
C:\ProgramData\Anaconda3\Library\bin
移动到PATH
的前面,但仍然会发生错误。
-------------更新:20190327
刚qq来了邮件,点进来才是这个问题,这个后来发现解决了。然后我在电脑上重新安装了Win64OpenSSL_Light-1_1_1b.exe,anaconda并卸载了个重装。现在anaconda和python都正常了。
-------------下面为旧内容谢谢,我昨天也遇到了同样的问题,然后我把Anaconda卸载后重装了,但并没有解决。执行import ssl,anaconda中的报错,另外一个不报错。如图:
我把pycharm中的路径修改了之后,pycharm也可以正常运行了。
我不得不用基本的 env dll 替换我的 envs/myenv/Library/bin 文件夹中的 libssl-1_1-x64.dll。 这不是同一个。 另外,我在 C:/Windows/System32/ 和 C:/Program Files 的某些 Intel 文件夹下还有另一个 libssl-1_1-x64.dll。 我从路径中删除了英特尔的东西,并删除了 system32 下的那个。
不确定何时复制了损坏的 dll,但用 conda/Library/bin/ 中的那个替换它效果很好。
要进一步检查错误,您可以激活您的环境并输入python -c "import ssl"
。 这是一个重要的区别,如果错误是“找不到模块”(-> 根本找不到 dll,可能是路径问题)或“找不到过程入口点”(-> 可能,找到了损坏/错误的 dll )。
我不得不用基本的 env dll 替换我的 envs/myenv/Library/bin 文件夹中的 libssl-1_1-x64.dll。 这不是同一个。 另外,我在 C:/Windows/System32/ 和 C:/Program Files 的某些 Intel 文件夹下还有另一个 libssl-1_1-x64.dll。 我从路径中删除了英特尔的东西,并删除了 system32 下的那个。
不确定何时复制了损坏的 dll,但用 conda/Library/bin/ 中的那个替换它效果很好。
要进一步检查错误,您可以激活您的环境并输入
python -c "import ssl"
。 这是一个重要的区别,如果错误是“找不到模块”(-> 根本找不到 dll,可能是路径问题)或“找不到过程入口点”(-> 可能,找到了损坏/错误的 dll )。
我遇到了同样的问题-“找不到指定的程序。” - 仅在特定环境中。
在基本环境中,“import ssl”效果很好。
尝试用基本 env 的libssl-1_1-x64.dll替换 env 的 libssl -1_1-x64.dll - 但没有帮助。
是否有任何其他文件导致此问题?
为我修复,感谢大家的评论。
该问题未通过添加解决
尝试用基本 env 的libssl-1_1-x64.dll替换 env 的 libssl -1_1-x64.dll - 但没有帮助。
是否有任何其他文件导致此问题?
删除 C:/Windows/System32/ 中的 libssl-1_1-x64.dll 和libcrypto-1_1-x64.dll为我解决了这个问题。
我爱你哥们!
删除 C:/Windows/System32/ 中的 libssl-1_1-x64.dll 和 libcrypto-1_1-x64.dll 为我解决了这个问题。
安装 Win64OpenSSL_Light-1_1_1b.exe https://slproweb.com/download/Win64OpenSSL_Light-1_1_1b.exe ,然后 pip 运行良好。
尝试使用:
pip3 install <package>
这个问题可以通过改变这台电脑的路径来解决
去属性
然后进入高级设置
然后是环境变量
然后是系统变量
然后路径
双击路径
检查安装的python的路径
如果你有蟒蛇
然后删除两个路径和
然后点击新建
然后复制python 3.7或最新的python til脚本的路径,即
(C:\Users\'用户名'\AppData\Local\ProgramsPythonPython37\scripts)
然后点击确定
接下来也点击新建
然后复制路径 C:\Users\'用户名'\AppData\Local\ProgramsPythonPython37
然后以管理员身份重新启动 cmd 并重试安装
有趣的是:我在 Android 上遇到了同样的问题,Termux。 由于缺少 ssl,Pip 无法连接到 pypi.org。
问题显然出在 ssl 模块上。 因此,首先检查您是否安装了任何 ssl。 如果是,请将其升级到最新版本,因为 ssl 算法发展迅速,变得不兼容。
尝试更新现有库,或安装更好的支持包。
对于 Windows 上的 Anaconda/Miniconda 用户,这是一个库加载问题。 https://conda.io/projects/conda/en/latest/user-guide/troubleshooting.html#condahttperror -http-000-connection-failed 的疑难解答常见问题解答中有信息
正如一些用户所指出的,将 openssl 安装到 Windows\System32 文件夹中的其他安装可能非常麻烦。 在此相关故障排除部分中有关于 Anaconda(和 conda-forge)python 中的解决方法的信息: https: //conda.io/projects/conda/en/latest/user-guide/troubleshooting.html#numpy -mkl-library-加载失败
您可以在https://github.com/continuumio/anaconda-issues报告 anaconda 问题
我在安装 pip 模块时再次出现 SSL 问题。 在此之前,pip 已经工作了几个月——在正确配置环境路径以包含 3 个 conda 文件夹之后: %Conda_DIR%;%Conda_DIR%\Scripts;%Conda_DIR%\Library\bin
。
经过几个小时的争论,我得出了这两种解决方案——一种用于通过pip安装模块,另一种用于通过conda安装。
基本上,根据错误消息,我必须将pypi.org和files.pythonhosted.org站点添加为受信任的主机。
您可以通过以下方式执行此操作: pip config set global.trusted_host "pypi.org files.pythonhosted.org"
此设置更改保存在C:\Users\user_name\Appdata\Roaming\pip\pip.ini
(简而言之, %APPDATA%\pip\pip.ini
)文件中。 由于从 Windows 角度来看,它位于非管理员用户文件夹中,因此这样做应该是安全的。
[如果您对“全局”设置更改不满意,您可以在每个模块安装期间重复此操作。
例如: pip install --trusted-host pypi.org --trusted-host files.pythonhosted.org -U matplotlib
]
一些 Python 模块(如底图)不通过 pip 安装。 我不得不改用 conda。
要使用 conda 覆盖 SSL 错误,我必须使用: conda config --set ssl_verify false
[安装 conda 模块后,我重新打开了 ssl: conda config --set ssl_verify true
]
在今天解决这些问题时, https: //conda.io/projects/conda/en/latest/user-guide/troubleshooting.html#ssl -connection-errors 上的一般信息和安装时错误中的特定站点信息消息 - 两者都被证明是有帮助的。
(base) C:\Users\joshu>pip install pandahouse
WARNING: pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.
但是我可以在使用 python native 时 pip 安装我想要的任何东西:
C:\Users\joshu\AppData\Local\Programs\Python\Python37\Scripts>pip install scrapy
Collecting scrapy
Downloading http....
到目前为止我所做的:
C:\Users\joshu\Anaconda3\Library\bin
本机 Python 中的 CMD 提示位置:
C:\Users\joshu\AppData\Local\Programs\Python\Python37\Scripts>where libssl-1_1-x64.dll
C:\Users\joshu\Anaconda3\Library\bin\libssl-1_1-x64.dll
C:\Users\joshu\AppData\Local\Programs\Python\Python37\Scripts>where libcrypto-1_1-x64.dll
C:\Users\joshu\Anaconda3\Library\bin\libcrypto-1_1-x64.dll
Anaconda 提示位置:
(base) C:\Users\joshu>where libssl-1_1-x64.dll
C:\Users\joshu\Anaconda3\Library\bin\libssl-1_1-x64.dll
(base) C:\Users\joshu>where libcrypto-1_1-x64.dll
C:\Users\joshu\Anaconda3\Library\bin\libcrypto-1_1-x64.dll
不确定这是否重要,但 OPENSSL_CONF C:\OpenSSL-Win64\bin\openssl.cfg 出现在我的系统变量中的 PATH 上方。
有人可以帮助我不知道如何解决这个问题,并且真的更喜欢使用 Anaconda/Spyder 而不是原生 python
@jmhcodes ,查看此链接: https ://stackoverflow.com/questions/41328451/ssl-module-in-python-is-not-available-when-installing-package-with-pip3
同样在 stackoverflow 上,我遇到了另一个与我开始在工作 PC 上遇到的 SSL 证书验证错误的突然复发更相关的讨论。 讨论链接是: https ://stackoverflow.com/questions/25981703/pip-install-fails-with-connection-error-ssl-certificate-verify-failed-certi
在其中几个答案中,有以下陈述:
就我而言,我公司网络中的证书是问题所在。
和
我最近遇到了这个问题,因为我公司的 Web 内容过滤器使用自己的证书颁发机构,以便它可以过滤 SSL 流量。
所以就我而言,是公司网络防火墙破坏了我的 pip。 但是现在添加files.pythonhosted.org
& ** pypi.org
作为受信任的主机已经解决了这个问题。
老实说,当我上周解决这个问题时,我还没有看到第二次 stackoverflow 讨论,并在这里发布了我的解决方案步骤。 stackoverflow 文章中的大多数回复都同意使用--trusted-host
也解决了他们的点子问题。 除了上面提到的两个网站,他们还建议添加pypi.python.org
@shriprem
@jmhcodes ,查看此链接: https ://stackoverflow.com/questions/41328451/ssl-module-in-python-is-not-available-when-installing-package-with-pip3
同样在 stackoverflow 上,我遇到了另一个与我开始在工作 PC 上遇到的 SSL 证书验证错误的突然复发更相关的讨论。 讨论链接是: https ://stackoverflow.com/questions/25981703/pip-install-fails-with-connection-error-ssl-certificate-verify-failed-certi
我也看过这两个帖子,我可以将其添加为全球受信任的主机并走开,但我对此感到不舒服。
我真正想要回答的是为什么 pip 在 cmd 行中的本机 python 包中没有 SSL/TSL 问题但在 anaconda 提示符下不起作用,即使 openssl/libssl-1_1-x64.dll/libcrypto-1_1-x64 .dll 都指向同一个位置。
@jmhcodes ,在常规命令提示符和 Anaconda 提示符下运行命令where pip.exe
。 它们是否都返回相同的 pip.exe 路径?
以下是 Anaconda 提示符与常规命令提示符相比为其环境带来的一些差异:
echo %path%
并区分它们来检查这一点。 这 7 个子目录是:%CONDA_DIR%;
%CONDA_DIR%\Library\mingw-w64\bin;
%CONDA_DIR%\Library\usr\bin;
%CONDA_DIR%\Library\bin;
%CONDA_DIR%\Scripts;
%CONDA_DIR%\bin;
%CONDA_DIR%\condabin;
_注意:%CONDA_DIR% 应该替换为您的 Anaconda 安装路径。_
CONDA_DEFAULT_ENV, CONDA_EXE, CONDA_PREFIX, CONDA_PROMPT_MODIFIER, CONDA_PYTHON_EXE, CONDA_SHLVL, PYTHONIOENCODING, PROJ_LIB, _CONDA_SET_PROJ_LIB
set
并比较它们来验证这一点。两种环境之间的这些差异可能会导致您遇到任何问题。 由你来进一步挖掘。
但是,如果 pip.exe 指向两个环境中的相同二进制文件,则您不必太担心您使用哪个环境来运行 pip。 另外,我不会太担心将众所周知的 python.org pip 站点添加为受信任的主机。 stackoverflow 上的很多人也是如此。 那是我的两分钱。
最后,您提到:
不确定这是否重要,但 OPENSSL_CONF C:\OpenSSL-Win64\bin\openssl.cfg 出现在我的系统变量中的 PATH 上方。
这是因为系统变量 OPENSSL_CONF 在按字母顺序列出时位于 PATH 之前。 因此,对于您遇到的问题应该没关系。 还是我误解了你的意思?
蟒蛇提示pip 19.1.1 from C:\ProgramData\Anaconda3\lib\site-packages\pip (python 3.7)
命令提示符C:\Users\joshu\AppData\Local\Programs\Python\Python37\Scripts\pip.exe
但我什至无法打开 spyder/anaconda nav 或任何与 anaconda 套件相关的东西,除了 anaconda 提示符:
(base) C:\Users\joshu>spyder.exe
Traceback (most recent call last):
File "C:\ProgramData\Anaconda3\lib\site-packages\spyder\utils\external\github.py", line 51, in <module>
from urllib2 import build_opener, HTTPSHandler, Request, HTTPError
ModuleNotFoundError: No module named 'urllib2'
在处理上述异常的过程中,又出现了一个异常:
Traceback (most recent call last):
File "C:\ProgramData\Anaconda3\lib\site-packages\spyder\app\mainwindow.py", line 3285, in main
mainwindow = run_spyder(app, options, args)
File "C:\ProgramData\Anaconda3\lib\site-packages\spyder\app\mainwindow.py", line 3140, in run_spyder
main.setup()
File "C:\ProgramData\Anaconda3\lib\site-packages\spyder\app\mainwindow.py", line 809, in setup
from spyder.plugins.console import Console
File "C:\ProgramData\Anaconda3\lib\site-packages\spyder\plugins\console.py", line 37, in <module>
from spyder.widgets.reporterror import SpyderErrorDialog
File "C:\ProgramData\Anaconda3\lib\site-packages\spyder\widgets\reporterror.py", line 26, in <module>
from spyder.widgets.github.backend import GithubBackend
File "C:\ProgramData\Anaconda3\lib\site-packages\spyder\widgets\github\backend.py", line 33, in <module>
from spyder.utils.external import github
File "C:\ProgramData\Anaconda3\lib\site-packages\spyder\utils\external\github.py", line 58, in <module>
from urllib.request import build_opener, HTTPSHandler, HTTPError, Request
ImportError: cannot import name 'HTTPSHandler' from 'urllib.request' (C:\ProgramData\Anaconda3\lib\urllib\request.py)
我使用 Visual Studio Code,我遇到了同样的问题,因为我执行的 conda virtual env 不是活动的
最有用的评论
我遇到过同样的问题。 我正在用 python 和 jupyter 用 anaconda 配置新计算机,当我尝试使用 pip 安装包时出现问题。
基于上面的讨论,这是一个环境问题,我尝试在Anaconda Prompt而不是cmd中运行“pip install”命令。 并且执行了 pip 命令。 😁