当我尝试在Python 2.7中导入Theano时,我收到以下错误消息:
'C:Program' is not recognized as an internal or external command,
operable program or batch file.
ERROR (theano.sandbox.cuda): Failed to compile cuda_ndarray.cu: ('nvcc return status', 1, 'for cmd', 'nvcc -shared -O3 -LC:\\Anaconda\\libs -use_fast_math -LC:\\Anaconda\\libs --compiler-bindir C:Program Files (x86)Microsoft Visual Studio 12.0VCbinamd64 -Xlinker /DEBUG -D HAVE_ROUND -m64 -Xcompiler -DCUDA_NDARRAY_CUH=18715462c72ed6afcd7ca5d52813ce90,-DNPY_NO_DEPRECATED_API=NPY_1_7_API_VERSION,/Zi,/MD -IC:\\Anaconda\\lib\\site-packages\\theano\\sandbox\\cuda -IC:\\Anaconda\\lib\\site-packages\\numpy\\core\\include -IC:\\Anaconda\\include -IC:\\Anaconda\\lib\\site-packages\\theano\\gof -o C:\\Users\\JACOB #1\\AppData\\Local\\Theano\\compiledir_Windows-10-10.0.10240-Intel64_Family_6_Model_58_Stepping_9_GenuineIntel-2.7.11-64\\cuda_ndarray\\cuda_ndarray.pyd mod.cu -LC:\\Anaconda\\libs -LC:\\Anaconda -lpython27 -lcublas -lcudart
我注意到--compiler-bindir部分中的路径没有斜杠(C:Program Files(x86)Microsoft Visual Studio 12.0VCbinamd64)。我检查了我的PATH,THEANO_FLAGS和.theanorc.txt文件,没有没有斜线的这条路径。有办法解决这个问题吗?
当我尝试粘贴此命令,将斜杠插入命令提示符时,我得到以下结果:
nvcc fatal : Cannot find compiler 'cl.exe' in PATH
这对我来说毫无意义,因为我的PATH的第一个条目是:
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\amd64
我的.theanorc.txt如下:
[global]
device = gpu
floatX = float32
[cuda]
root = -LJ:\NVIDIA GPU Computing Toolkit\CUDA\v7.0
[nvcc]
flags = -LC:\Anaconda\libs
fastmath = True
compiler-bindir = -LC:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\amd64
非常感谢任何帮助!
答案 0 :(得分:0)
我可以通过设置windows环境变量来解决这个问题,而不是直接提及compiler-bindir中的路径。
您可以通过右键单击
来设置Windows环境变量“start-> computer-> properties->高级系统设置”
答案 1 :(得分:0)
只需检查目录中是否存在cl.exe
:
<强> C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\amd64
强>
如果它不 ,则安装它(以及C ++的所有其他MS运行时文件,默认情况下不会出现)通过运行VS设置,选择修改选项,然后展开并选择:
<强> Programming Language -> C++
强>
并安装。
希望现在它可能会奏效。请耐心等待下载可能需要一段时间......
PS:Iff可能,将您的Theano工作库迁移到基于UNIX的操作系统,如(Ubuntu / Kali Linux / Manjaro)+ Anaconda for SciPy和NumPy,因为它比Windows中的问题少得多