这个Python版本没有包含SSL支持。Anaconda-Python3-smtplib。

9
我使用已设置好的带有Python 3.7的Anaconda环境。我正在尝试使用smtplib通过我的Gmail账户发送简单的电子邮件,但是出现了“No SSL support included in this python”的错误提示。我知道这个问题已经被问了很多次,但是我找不到如何在Anaconda/Python环境中添加SSL支持的具体建议。我安装了openssl和pyopenssl,但没有成功。
以下是我的代码:
import smtplib
from email.message import EmailMessage

msg = EmailMessage()
msg['Subject'] = 'test'
msg['From'] = 'xxxx@gmail.com'
msg['To'] = 'xxxx@gmail.com'

server = smtplib.SMTP('smtp.gmail.com:587')
server.ehlo()
server.starttls()
server.login('xxxx@gmail.com','xxxxx')
server.send_message(msg)
server.quit()

我的环境如下:

Anaconda Python 3.7 运行在 Windows 10 上 PyCharm 是 IDE

编辑:这是我的 conda list 和 conda info 的输出:

(py37) C:\Users\kspoo>conda list
# packages in environment at C:\Users\kspoo\Anaconda3\envs\py37:
#
# Name                    Version                   Build  Channel
asn1crypto                0.24.0                    <pip>
ca-certificates           2018.03.07                    0    anaconda
certifi                   2018.10.15               py37_0    anaconda
cffi                      1.11.5                    <pip>
cryptography              2.4.2                     <pip>
idna                      2.7                       <pip>
openssl                   1.1.1                he774522_0    anaconda
pip                       18.1                     py37_0
pycparser                 2.19                      <pip>
pyOpenSSL                 18.0.0                    <pip>
python                    3.7.1                he44a216_5
setuptools                40.6.2                   py37_0
six                       1.11.0                    <pip>
vc                        14.1                 h21ff451_3    anaconda
vs2015_runtime            15.5.2                        3    anaconda
wheel                     0.32.3                   py37_0
wincertstore              0.2                      py37_0

(py37) C:\Users\kspoo>conda info

     active environment : py37
    active env location : C:\Users\kspoo\Anaconda3\envs\py37
            shell level : 2
       user config file : C:\Users\kspoo\.condarc
 populated config files : C:\Users\kspoo\.condarc
          conda version : 4.5.11
    conda-build version : 3.15.1
         python version : 3.7.0.final.0
       base environment : C:\Users\kspoo\Anaconda3  (writable)
           channel URLs : https://repo.anaconda.com/pkgs/main/win-64
                          https://repo.anaconda.com/pkgs/main/noarch
                          https://repo.anaconda.com/pkgs/free/win-64
                          https://repo.anaconda.com/pkgs/free/noarch
                          https://repo.anaconda.com/pkgs/r/win-64
                          https://repo.anaconda.com/pkgs/r/noarch
                          https://repo.anaconda.com/pkgs/pro/win-64
                          https://repo.anaconda.com/pkgs/pro/noarch
                          https://repo.anaconda.com/pkgs/msys2/win-64
                          https://repo.anaconda.com/pkgs/msys2/noarch
          package cache : C:\Users\kspoo\Anaconda3\pkgs
                          C:\Users\kspoo\AppData\Local\conda\conda\pkgs
       envs directories : C:\Users\kspoo\Anaconda3\envs
                          C:\Users\kspoo\AppData\Local\conda\conda\envs
                          C:\Users\kspoo\.conda\envs
               platform : win-64
             user-agent : conda/4.5.11 requests/2.19.1 CPython/3.7.0 Windows/10 Windows/10.0.17134
          administrator : False
             netrc file : None
           offline mode : False


(py37) C:\Users\kspoo>

感谢您,Kelvin。
4个回答

11
请提供 conda listconda info 的输出。我们在 GitHub 上有一个讨论线程
同时,您可以尝试通过 conda install python=3.7.1=h33f27b4_4 将版本降级到以前的构建版本。

3
我刚在Windows上安装了32位的miniconda,遇到了这个问题。 "in the meantime" 起作用了。 - Tim Richardson
我刚刚在这里安装了Miniconda,但与此同时它并没有起作用。我仍然遇到了SSLError(MaxRetryError('HTTPSConnectionPool(host='repo.anaconda.com', port=443): Max retries exceeded with url: /pkgs/main/win-64/repodata.json.bz2 (Caused by SSLError("Can't connect to HTTPS URL because the SSL module is not available."))'))的问题。 - Newtopian
降级到miniconda4.5.11对我有用(https://repo.anaconda.com/miniconda/)。Conda在第一次成功更新时更新回4.5.12,并顺利更新certifi。 - Tugrul Ates

2

一个简单的解决方案是以管理员身份打开Anaconda提示符并在其中运行您的命令。这样做不会有任何麻烦。


1
我在Windows上使用PyCharm IDE配合Anaconda使用。我遇到了如下错误:

此Python安装不支持SSL。

因此,我将我的Python版本降级到3.6,问题解决了。

0

我在使用 Python 3.8 版本时遇到了同样的问题,所以我升级到了 Python 3.9 版本,问题得到了解决。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接