“import cntk”可以从命令行运行,但不能在PyCharm中运行

时间:2017-07-19 16:20:20

标签: python anaconda cntk

我正在使用Anaconda3,python 3.6.1和PyCharm 2017.1.5。

使用conda,我可以执行以下操作:

(C:\Anaconda3) C:\Users\tim>activate cntk

(注意:cntk是一个conda虚拟环境)

(cntk) C:\Users\tim>python
Python 3.6.1 |Continuum Analytics, Inc.| (default, May 11 2017, 13:25:24) 
[MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import cntk

在这里等待一段时间......但是有效。

>>> print(cntk.__version__)
2.0

所以,工作正常。

到PyCharm:

我有一个文件tutorial101.py,只包含import cntk

在PyCharm中运行:

C:\Anaconda3\envs\cntk\python.exe C:/coding/python/cntk-sandbox/tutorial101.py
Traceback (most recent call last):
  File "C:\Anaconda3\envs\cntk\lib\site-packages\cntk\cntk_py.py", line 18, in swig_import_helper
    return importlib.import_module(mname)
  File "C:\Anaconda3\envs\cntk\lib\importlib\__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 978, in _gcd_import
  File "<frozen importlib._bootstrap>", line 961, in _find_and_load
  File "<frozen importlib._bootstrap>", line 948, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'cntk._cntk_py'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:/coding/python/cntk-sandbox/tutorial101.py", line 1, in <module>
    import cntk
  File "C:\Anaconda3\envs\cntk\lib\site-packages\cntk\__init__.py", line 10, in <module>
    from . import cntk_py
  File "C:\Anaconda3\envs\cntk\lib\site-packages\cntk\cntk_py.py", line 21, in <module>
    _cntk_py = swig_import_helper()
  File "C:\Anaconda3\envs\cntk\lib\site-packages\cntk\cntk_py.py", line 20, in swig_import_helper
    return importlib.import_module('_cntk_py')
  File "C:\Anaconda3\envs\cntk\lib\importlib\__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
ImportError: DLL load failed: The specified module could not be found.

Process finished with exit code 1

为什么这可以从命令行工作,但不能在PyCharm中工作?我究竟做错了什么?我找不到满意的答案anywhere

4 个答案:

答案 0 :(得分:2)

问题是,使用Pycharm时设置的系统环境不包含conda目录作为Windows文件系统搜索路径的一部分。此目录必须出现在搜索路径中,因为CNTK DLL已经安装(假设标准C:\ANACONDA3安装)到该目录。

您可以通过将System->Advanced System Settings->Environment Variables(或安装CNTK的路径)添加到系统的PATH环境变量来解决此问题。

您可以在PATH下的Windows中访问环境变量,然后通过选择并点击Edit将新行添加到系统substr变量。

伊恩

答案 1 :(得分:1)

如果遇到其他人,我使用VS2015时会遇到同样的问题。在环境变量PATH中添加正在使用的虚拟环境的路径(例如C:\Users\<your user name>\AppData\Local\Continuum\Miniconda2\envs\<environment with cntk>),然后重新启动visual studio解决了问题

答案 2 :(得分:0)

我最终将D:\ Docs \ Anaconda3 \ Lib \ site-packages \ cntk添加到我的路径 因为我在D:\ Docs \ Anaconda3

中安装了anaconda

答案 3 :(得分:0)

在Anaconda Console中切换/激活conda环境时,脚本将设置/更改一堆环境变量。似乎PyCharm没有模拟这样的操作。我希望PyCharm可以提供更好的解决方案,我通过添加&#34; C:\ Users \\ AppData \ Local \ Continuum \ anaconda3 \ envs \&#34;来解决这个问题。进入环境变量。

以下是我如何处理它:

  1. 在PyCharm导航栏的右下角,有一个下拉菜单,上面有您当前的型号名称。选择&#34;编辑配置......&#34;
  2. 在右侧窗格中,您应该可以看到&#34;配置&#34;选项卡,以及&#34;环境&#34;会话,有&#34;环境变量:&#34;输入框
  3. 点击&#34; ...&#34;编辑环境变量
  4. 点击&#34; +&#34;并添加&#34; PATH&#34;变量,该值设置为&#34; C:\ Users \\ AppData \ Local \ Continuum \ anaconda3 \ envs \&#34;
  5. 保存更改