2017-07-19 196 views
0

我使用的是Anaconda3,python 3.6.1和PyCharm 2017.1.5。“import cntk”从命令行运行,但不在PyCharm中运行

使用畅达,我可以执行以下就好:

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

(注:cntk是畅达虚拟环境)

(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

回答

2

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

您将能够通过将C:\ANACONDA3(或安装CNTK的路径)添加到系统的PATH环境变量来解决此问题。

您可以访问Windows下的环境变量System->Advanced System Settings->Environment Variables,然后通过选择它并单击Edit将新行添加到系统PATH变量。

伊恩

+0

感谢您的建议,但PyCharm允许您选择特定的conda环境作为解释器使用,即我在这里做了什么。你将它指向你想要的任何python.exe,并且将它指向C:/Anaconda3/envs/cntk/python.exe。这是否有所作为? –

+0

您在使用Windows文件系统设置搜索路径来设置Python解释器的路径时感到困惑。您看到的问题与Python本身无关,它与Windows无法找到CNTK模块下的DLL文件有关。 –

+1

这工作,谢谢!为了将来的参考,添加C:\ Anaconda3不起作用,但是C:\ Anaconda3 \ envs \ cntk确实有效。我相信那是因为该文件夹包含所有的DLL。 –

0

我最终将d:\文档\ Anaconda3 \ LIB \站点包\ cntk是我路上 ,因为我已经安装在d水蟒:\文档\ Anaconda3

1

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

相关问题