导入Theano时由于C驱动器用户文件夹名称带空格而导致错误

时间:2017-03-26 19:32:42

标签: python-2.7 g++ anaconda theano

我在Windows 8.1 64-bit上使用Dell Inspiron 15r 5521, core i5 3rd generation。我安装了Anaconda2 4.3.1 64-bit version并尝试在安装后导入theano。 用户文件夹名称为C:\Users\Muhammad Ahsan Anjum,不带引号。它给出错误,因为它只需要路径直到它遇到第一个空格字符(路径在C:\Users\Muhammad Ahsan Anjum\AppData\Local中的某个地方)。我如何让它采取包括空格在内的完整路径,以便编写Theano? 这是我在Python环境中输入“import theano”后得到的结果:

Problem occurred during compilation with the command line below:
"C:\SciSoft\TDM-GCC-64\bin\g++.exe" -shared -g -march=ivybridge -mmmx -mno-3dnow -msse -msse2 -msse3 -mssse3 -mno-sse4a -mcx16 -msahf -mno-movbe -maes -mno-sha -mpclmul -mpopcnt -mno-abm -mn
o-lwp -mno-fma -mno-fma4 -mno-xop -mno-bmi -mno-bmi2 -mno-tbm -mavx -mno-avx2 -msse4.2 -msse4.1 -mno-lzcnt -mno-rtm -mno-hle -mrdrnd -mf16c -mfsgsbase -mno-rdseed -mno-prfchw -mno-adx -mfxsr
-mxsave -mxsaveopt -mno-avx512f -mno-avx512er -mno-avx512cd -mno-avx512pf -mno-prefetchwt1 -mno-clflushopt -mno-xsavec -mno-xsaves -mno-avx512dq -mno-avx512bw -mno-avx512vl -mno-avx512ifma
-mno-avx512vbmi -mno-clwb -mno-pcommit --param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=3072 -mtune=ivybridge -DNPY_NO_DEPRECATED_API=NPY_1_7_API_VERSION -m64 -DM
S_WIN64 -I"C:\ProgramFiles\Anaconda2\lib\site-packages\numpy\core\include" -I"C:\ProgramFiles\Anaconda2\include" -I"C:\ProgramFiles\Anaconda2\lib\site-packages\theano\gof" -L"C:\ProgramFiles
\Anaconda2\libs" -L"C:\ProgramFiles\Anaconda2" -o C:\Users\Muhammad Ahsan Anjum\AppData\Local\Theano\compiledir_Windows-8.1-6.3.9600-Intel64_Family_6_Model_58_Stepping_9_GenuineIntel-2.7.13-
64\lazylinker_ext\lazylinker_ext.pyd C:\Users\Muhammad Ahsan Anjum\AppData\Local\Theano\compiledir_Windows-8.1-6.3.9600-Intel64_Family_6_Model_58_Stepping_9_GenuineIntel-2.7.13-64\lazylinker
_ext\mod.cpp -lpython27
g++.exe: error: Anjum\AppData\Local\Theano\compiledir_Windows-8.1-6.3.9600-Intel64_Family_6_Model_58_Stepping_9_GenuineIntel-2.7.13-64\lazylinker_ext\lazylinker_ext.pyd: No such file or dire
ctory
g++.exe: error: C:\Users\Muhammad: No such file or directory
g++.exe: error: Anjum\AppData\Local\Theano\compiledir_Windows-8.1-6.3.9600-Intel64_Family_6_Model_58_Stepping_9_GenuineIntel-2.7.13-64\lazylinker_ext\mod.cpp: No such file or directory

Traceback (most recent call last):
File "", line 1, in 
File "C:\ProgramFiles\Anaconda2\lib\site-packages\theano_init_.py", line 66, in 
from theano.compile import (
File "C:\ProgramFiles\Anaconda2\lib\site-packages\theano\compile_init_.py", line 10, in 
from theano.compile.function_module import *
File "C:\ProgramFiles\Anaconda2\lib\site-packages\theano\compile\function_module.py", line 21, in 
import theano.compile.mode
File "C:\ProgramFiles\Anaconda2\lib\site-packages\theano\compile\mode.py", line 10, in 
import theano.gof.vm
File "C:\ProgramFiles\Anaconda2\lib\site-packages\theano\gof\vm.py", line 662, in 
from . import lazylinker_c
File "C:\ProgramFiles\Anaconda2\lib\site-packages\theano\gof\lazylinker_c.py", line 127, in 
preargs=args)
File "C:\ProgramFiles\Anaconda2\lib\site-packages\theano\gof\cmodule.py", line 2316, in compile_str
(status, compile_stderr.replace('\n', '. ')))
Exception: Compilation failed (return status=1): g++.exe: error: Anjum\AppData\Local\Theano\compiledir_Windows-8.1-6.3.9600-Intel64_Family_6_Model_58_Stepping_9_GenuineIntel-2.7.13-64\lazyli
. g++.exe: error: Anjum\AppData\Local\Theano\compiledir_Windows-8.1-6.3.9600-Intel64_Family_6_Model_58_Stepping_9_GenuineIntel-2.7.13-64\lazylinker_ext\mod.cpp: No such file or directory

1 个答案:

答案 0 :(得分:0)

这是known bug with a fix only in the dev version

  • 所以你应该卸载theano:

    conda uninstall theano

  • Download来自git项目的库并将其解压缩到某处(例如在C:\Users\Muhammad Anjum上)

  • 在Anaconda Prompt上输入解压缩的文件夹(例如cd C:\Users\Muhammad Anjum\Theano-master)并安装它:

    pip install -e .