我已成功在本地计算机上安装Python 3.4和Python 3.6,但无法使用pip3
安装软件包。
当我执行pip3 install <package>
时,我收到以下与SSL相关的错误:
pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.
Collecting <package>
Could not fetch URL https://pypi.python.org/simple/<package>/: 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 <package> (from versions: )
No matching distribution found for <package>
如何修复我的Python3.x安装,以便我可以使用pip install <package>
安装软件包?
在Ubuntu中安装Python 3.6和pip3的分步指南
$ sudo apt-get install libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev
所需的软件包$ ./configure
$ sudo make && sudo make install
$ pip3 install package_name
我遇到了同样的问题,并且能够通过以下步骤解决:
sudo yum install -y libffi-devel
sudo yum install openssl-devel
cd /usr/src
sudo wget https://www.python.org/ftp/python/3.7.1/Python-3.7.1.tar.xz
sudo tar xf Python-3.7.1.tar.xz
cd Python-3.7.1
sudo ./configure --enable-optimizations
# Install into /usr/local/bin/python3.7, don't overwrite global python bin
sudo make altinstall
根据烫发,你可能不需要sudo。
Results:
Collecting setuptools
Collecting pip
Installing collected packages: setuptools, pip
Successfully installed pip-10.0.1 setuptools-39.0.1
现在应该可以运行了
python3.7 -V
和
pip3.7 -V
安装包时:
pip3.7 install pandas
或者根据perms,你也可以像这样添加--user标志:
pip3.7 install pandas --user
我在过去两天遇到了同样的问题,现在才修好了。
我曾尝试使用--trust-host
选项与DigiCert_High_Assurance_EV_Root_CA.pem
不起作用,我无法安装ssl模块(它告诉它不能安装大于2.6的python版本),设置$PIP_CERT
变量也没有修复它我也有安装了libssl1.0.2
和libssl1.0.0
。另外值得一提的是我没有~/.pip/pip.conf
文件,并且创建它也没有解决bug。
什么最终解决了,再次安装python3.6与make
。从网站下载Python-3.6.0.tgz,运行configure
然后make
,make test
和make install
。希望对你有效。
我试图在ubuntu14.04机器上安装python3.7时遇到同样的问题。问题是我的PKG_CONFIG_PATH和我的LD_LIBRARY_PATH中有一些自定义文件夹,这阻止了python构建过程找到系统openssl库。
所以试着清除它们,看看会发生什么:
export PKG_CONFIG_PATH=""
export LD_LIBRARY_PATH=""
我尝试了很多方法来解决这个问题而没有解决。我目前在Windows 10上。
唯一有效的是:
然后我用PIP下载了我需要的所有库...并且工作了!
不知道为什么,或者问题是否与Anaconda有某种关系。
python documentation实际上非常清楚,按照说明完成了工作,而我在这里找到的其他答案并没有解决这个问题。
brew install openssl
安装openssltar xvzf Python-3.6.2.tar.xz && cd Python-3.6.2
CPPFLAGS="-I$(brew --prefix openssl)/include" \
LDFLAGS="-L$(brew --prefix openssl)/lib" \
./configure --with-pydebug
5.最后,运行make -s -j2
(-s
是沉默的旗帜,-j2
告诉你的机器使用2个工作)
如果您使用的是Red Hat / CentOS:
# To allow for building python ssl libs
yum install openssl-devel
# Download the source of *any* python version
cd /usr/src
wget https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tar.xz
tar xf Python-3.6.2.tar.xz
cd Python-3.6.2
# Configure the build w/ your installed libraries
./configure
# Install into /usr/local/bin/python3.6, don't overwrite global python bin
make altinstall
如果你在Windows上并使用anaconda这对我有用:
我尝试了很多其他不起作用的解决方案(环境路径变量更改......)
该问题可能是由其他软件放置在Windows \ System32文件夹中的DLL(例如libcrypto-1_1-x64.dll或libssl-1_1-x64.dll或其他)引起的。
修复程序是从https://slproweb.com/products/Win32OpenSSL.html安装openSSL,它用更新的版本替换了dll。
同意mastaBlasta的回答。为我工作。我遇到了与主题描述相同的问题。
环境:MacOS Sierra。我使用Homebrew。
我的解决方案
brew uninstall openssl, brew install openssl
重新安装openssl;echo 'export PATH="/usr/local/opt/openssl/bin:$PATH"' >> ~/.bash_profile
export LDFLAGS="-L/usr/local/opt/openssl/lib"
export CPPFLAGS="-I/usr/local/opt/openssl/include"
在Ubuntu中,这可以帮助:
cd Python-3.6.2
./configure --with-ssl
make
sudo make install
问题可能是由于库丢失造成的。
在安装python 3.6之前,请确保安装了python所需的所有库。
$ sudo apt-get install build-essential checkinstall
$ sudo apt-get install libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev
我在Windows 10上遇到了同样的问题。我非常具体的问题是由于我安装了Anaconda。我安装了Anaconda,在Path/to/Anaconda3/
的路径下,有python.exe
。因此,我根本没有安装python,因为Anaconda包含python。当使用pip安装软件包时,我发现了相同的错误报告pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.
。
解决方案如下:
1)你可以在官方website上再次下载python;
2)导航到"Python 3.7 (64-bit).lnk"
is所在的目录
3)import ssl
和exit()
4)输入cmd,例如"Python 3.7 (64-bit).lnk" -m pip install tensorflow
。
在这里,你们都准备好了。
如果你在OSX上并且已经从源代码编译了python:
使用brew brew install openssl
安装openssl
请务必按照brew提供的有关设置CPPFLAGS
和LDFLAGS
的说明。在我的情况下,我使用[email protected]
brew公式,我需要python构建过程的这3个设置才能正确链接到我的SSL库:
export LDFLAGS="-L/usr/local/opt/[email protected]/lib"
export CPPFLAGS="-I/usr/local/opt/[email protected]/include"
export PKG_CONFIG_PATH="/usr/local/opt/[email protected]/lib/pkgconfig"
假设库安装在该位置。
如果您在Windows上并使用Anaconda,您可以尝试在Anaconda Prompt中运行“pip install ...”命令而不是cmd.exe,因为用户willliu1995建议使用here。这对我来说是最快的解决方案,不需要安装额外的组件。