2017-07-19 195 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,解決問題

相關問題