【问题标题】:python 3 imaplib different between windows/anaconda command promptswindows/anaconda命令提示符之间的python 3 imaplib不同
【发布时间】:2019-06-21 22:26:04
【问题描述】:

我有一些 python 代码用于最近停止工作的电子邮件。尝试调试它,我发现 imaplib.IMAP4_SSL 存在于从 anaconda 提示符启动的 python 中,但不是常规的 Windows 命令提示符。这怎么可能?

这是我知道的最简单的展示方式:

  1. 打开 anaconda 提示符和 windows 命令提示符
  2. 在两个提示符中,键入“python”以启动 python
  3. 两者都显示相同的 python 版本(我是 3.7.1)
  4. 输入以下内容:

import imaplib
imaplib.IMAP4_SSL

anaconda 提示返回一个类并且工作正常,而 windows cmd 提示返回错误:

AttributeError: module 'imaplib' has no attribute 'IMAP4_SSL'

我想也许我安装了多个版本的 python,所以我卸载了我能找到的所有与 python 相关的东西,然后重新安装了 anaconda。它没有帮助。

【问题讨论】:

  • 另一篇文章提到 ssl 需要可用,所以也许我遇到的是 ssl 问题而不是 imaplib 问题。我可以在 anaconda 提示符中导入 ssl,但不能在 windows cmd 提示符中导入。

标签: python windows cmd anaconda imaplib


【解决方案1】:

我通过使用批处理文件在this post 中找到了解决方法。现在我可以通过在窗口中双击来让我的代码工作。这是对我有用的批处理文件(在带有代码的目录中):

set root=C:\Users\usernamen\AppData\Local\Continuum\anaconda3
call %root%\Scripts\activate.bat %root%
call PythonFileToRun.py
pause

我仍然不明白 activate.bat 文件的作用或为什么 ssl 在 windows cmd 提示符下不起作用。

【讨论】:

    猜你喜欢
    • 2016-10-25
    • 1970-01-01
    • 2022-06-20
    • 2018-12-08
    • 1970-01-01
    • 2018-12-21
    • 2019-09-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多