Python 3 imaplib отличается в командной строке Windows / Anaconda - PullRequest
0 голосов
/ 28 января 2019

У меня есть код Python, который я использую для писем, которые недавно перестали работать.Пытаясь отладить его, я обнаружил, что imaplib.IMAP4_SSL существует в python, запущенном из командной строки anaconda, но не из обычной командной строки 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, поэтому я удалил все, что связанона питон, который я смог найти, затем переустановил анаконду.Это не помогло.

1 Ответ

0 голосов
/ 29 января 2019

Я нашел обходной путь в этой записи с помощью командного файла.Теперь я могу заставить свой код работать, дважды щелкнув в окне.Это командный файл, который работает для меня (в каталоге с кодом):

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

Я до сих пор не понимаю, что делает файл activ.bat или почему ssl не работает в командной строке Windows cmdхотя.

...