Pycharm: 导入 ssl 模块时遇到问题

Pycharm: trouble with importing ssl module

堆栈: windows 8.1 Anaconda2/python 3.7 环境 Pycharm专业2017.3

问题: 无法导入 ssl 模块(将问题缩小到加载 _ssl.pyd):

ImportError: DLL load failed: The specified module could not be found.

我试过的:

如果我使用我的 windows 控制台激活 conda 环境并尝试导入 ssl 它可以工作

sys.path 输出 pycharm:

['C:/Users/vlad/Documents/DjangoProjects/cryptodata/playing_around_aiohttp', 'C:\Program Files\JetBrains\PyCharm 2017.3.3\helpers\pydev', 'C:\Program Files\JetBrains\PyCharm 2017.3.3\helpers\pydev', 'C:\Users\vlad\.PyCharm2017.3\system\cythonExtensions', 'C:\ProgramData\Anaconda2\envs3\python37.zip', 'C:\ProgramData\Anaconda2\envs3\DLLs', 'C:\ProgramData\Anaconda2\envs3\lib', 'C:\ProgramData\Anaconda2\envs3', 'C:\ProgramData\Anaconda2\envs3\lib\site-packages', 'C:\Program Files\JetBrains\PyCharm 2017.3.3\helpers\pycharm_matplotlib_backend']

sys.path win控制台输出:

['', 'C:\ProgramData\Anaconda2\envs3\python37.zip', 'C:\ProgramData\Anaconda2\envs3\DLLs', 'C:\ProgramData\Anaconda2\envs3\lib', 'C:\ProgramData\Anaconda2\envs3', 'C:\ProgramData\Anaconda2\envs3\lib\site-packages']

imp.find_module('_ssl') 输出 pycharm:

(<_io.BufferedReader name='C:\ProgramData\Anaconda2\envs3\DLLs\_ssl.pyd'>, 'C:\ProgramData\Anaconda2\envs3\DLLs\_ssl.pyd', ('.pyd', 'rb', 3))

imp.find_module('_ssl') 在 windows 控制台输出:

(<_io.BufferedReader name='C:\ProgramData\Anaconda2\envs3\DLLs\_ssl.pyd'>, 'C:\ProgramData\Anaconda2\envs3\DLLs\_ssl.pyd', ('.pyd', 'rb', 3))

在 windows 控制台中,我成功地 "import _ssl" 然后

_ssl.__file__

它的输出是'C:\ProgramData\Anaconda2\envs3\DLLs\_ssl.pyd'

我错过了什么吗?这是怎么回事?

问题已通过卸载 Anaconda 并改为使用 virtualenv 解决。我使用 virtualenv 而不是 Anaconda 的决定是主观的。

我做了什么:

  1. 卸载 Anaconda
  2. 安装最新的python
  3. 安装 pip
  4. 安装虚拟环境
  5. 在每个工作项目中创建 virtualenv。使用 "env/Scripts/activate"
  6. 启用环境
  7. 将 pycharm 项目解释器设置为虚拟环境可执行文件。 Pycharm 应该默认检测到它