【问题标题】:"No SSL support included in this python" Anaconda-python3-smtplib“此 python 中不包含 SSL 支持”Anaconda-python3-smtplib
【发布时间】:2019-05-01 16:21:04
【问题描述】:

我正在使用带有 python 3.7 设置的 Anaconda 环境。我正在尝试使用 smtplib 通过我的 gmail 帐户发送一封简单的电子邮件,并且我收到“此 python 中不包含 SSL 支持”我确实意识到这个问题已被多次询问,但我找不到有关如何添加的具体建议我的 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>

谢谢, 开尔文

【问题讨论】:

    标签: python-3.x ssl anaconda smtplib


    【解决方案1】:

    请提供conda listconda info 的输出。我们有一个thread going on GitHub

    与此同时,您可以尝试使用conda install python=3.7.1=h33f27b4_4 降级到以前的版本。

    【讨论】:

    • 我刚刚在 Windows 上安装 32 位 miniconda 时遇到了这个问题。 “在此期间”起作用了。
    • 刚刚在这里安装了 miniconda 但同时没有工作,我仍然得到 SSLError(MaxRetryError('HTTPSConnectionPool(host=\'repo.anaconda.com\', port=443): Max retries超过 url: /pkgs/main/win-64/repodata.json.bz2 (Caused by SSLError("Can\'t connect to HTTPS URL because the SSL module is not available."))'))
    • 降级到 miniconda4.5.11 对我有用 (repo.anaconda.com/miniconda)。第一次成功更新时,Conda 更新回 4.5.12,一路干净地更新证书。
    【解决方案2】:

    一个简单的解决方法是在管理员模式下打开 Anaconda Prompt 并在那里运行你的命令。它工作起来没有任何麻烦。

    【讨论】:

      【解决方案3】:

      我在带有 pycharm ide 的 Windows 中使用 Anaconda。我将错误视为:

      此 python 安装不支持 SSL。

      所以我将我的 python 版本降级到 3.6 并且它工作正常。

      【讨论】:

        【解决方案4】:

        我在使用 python 3.8 版本时遇到了同样的问题,所以我将我的 python 版本升级到 3.9 并且它工作正常。

        【讨论】:

          猜你喜欢
          • 2017-10-27
          • 2011-07-11
          • 2016-12-18
          • 2021-07-16
          • 2019-08-16
          • 2012-06-06
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多