我使用的是Python 3.6。当我尝试使用pip3安装“模块”时,我遇到了这个问题:

pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available

当前回答

对于OpenSUSE,以同样的方式,但对上面列出的包做了一些更改:

zypper install zlib-devel libopenssl-devel ncurses-devel sqlite3-devel readline-devel tk-devel gdbm-devel libpcap-devel xz-devel

然后cd到Python源代码dir和

make
make install

or

make
make altinstall

也许

ln -s /usr/local/lib64/python3.6/lib-dynload/ /usr/local/lib/python3.6/lib-dynload

应该为OpenSUSE用户执行。请参见Python 3.7安装无法在openSUSE Leap 42.3上工作

其他回答

对于Windows 10下的Miniconda3, python=3.7.5,我尝试了以上所有建议;毫无效果。我不得不降级到python=3.7.0,这解决了这个问题

conda install python=3.7.0

显然这很混乱。答案表明升级到3.8.5也可以工作,但这在我的环境中有太多的副作用。

在我的例子中,我重新安装了Python。这就解决了问题。

brew reinstall python

与上述解决方案类似,使用pyenv重新安装python版本。

不知何故,我升级了我的openssl,它破坏了pyenv版本的python。

pyenv install 3.6.8
python-build: use openssl@1.1 from homebrew
python-build: use readline from homebrew
...

第一行说它依赖于自制的openssl。

对于OpenSUSE,以同样的方式,但对上面列出的包做了一些更改:

zypper install zlib-devel libopenssl-devel ncurses-devel sqlite3-devel readline-devel tk-devel gdbm-devel libpcap-devel xz-devel

然后cd到Python源代码dir和

make
make install

or

make
make altinstall

也许

ln -s /usr/local/lib64/python3.6/lib-dynload/ /usr/local/lib/python3.6/lib-dynload

应该为OpenSUSE用户执行。请参见Python 3.7安装无法在openSUSE Leap 42.3上工作

对于Debian用户,以下可能会用到:

 sudo apt install libssl-dev libncurses5-dev libsqlite3-dev libreadline-dev libtk8.6 libgdm-dev libdb4o-cil-dev libpcap-dev

然后cd到Python 3. exe文件所在的文件夹。X库源代码,运行:

./configure
make
make install