Compilation failed when starting anano - windows 8.1 64 bit with Anaconda python distribution

I run lasagne / nolearn that uses theano.

It was especially difficult to install and compile theano. The following compilation error occurs after installing the 64-bit g ++ compiler.

Help is much appreciated. Thanks!

The problem occurred during compilation using the command line below:

C:\MinGW\bin\g++.exe -shared -g -march=corei7-avx -mcx16 -msahf -mmovbe -maes -mpclmul -mpopcnt -mabm -mno-lwp -mfma -mno-fma4 -mno-xop -mbmi -mbmi2 -mno-tbm -mavx -mavx2 -msse4.2 -msse4.1 -mlzcnt -mno-rtm -mno-hle -mrdrnd -mf16c -mfsgsbase -mno-rdseed -mno-prfchw -mno-adx -mfxsr -mxsave -mxsaveopt --param l1-cache-size=0 --param l1-cache-line-size=0 --param l2-cache-size=256 -mtune=generic -D NPY_NO_DEPRECATED_API=NPY_1_7_API_VERSION -m64 -DMS_WIN64 -IC:\Users\aleja_000\Anaconda\lib\site-packages\numpy\core\include -IC:\Users\aleja_000\Anaconda\include -o C:\Users\aleja_000\AppData\Local\Theano\compiledir_Windows-8-6.2.9200-Intel64_Family_6_Model_60_Stepping_3_GenuineIntel-2.7.9-64\lazylinker_ext\lazylinker_ext.pyd C:\Users\aleja_000\AppData\Local\Theano\compiledir_Windows-8-6.2.9200-Intel64_Family_6_Model_60_Stepping_3_GenuineIntel-2.7.9-64\lazylinker_ext\mod.cpp -LC:\Users\aleja_000\Anaconda\libs -LC:\Users\aleja_000\Anaconda -lpython27 Traceback (most recent call last): File "C:\Users\aleja_000\Anaconda\lib\site-packages\IPython\core\interactiveshell.py", line 3032, in run_code =============================== C:\Users\aleja_000\AppData\Local\Theano\compiledir_Windows-8-6.2.9200-Intel64_Family_6_Model_60_Stepping_3_GenuineIntel-2.7.9-64\lazylinker_ext\mod.cpp:1:0: sorry, unimplemented: 64-bit mode not compiled in #include <Python.h> ^ exec(code_obj, self.user_global_ns, self.user_ns) File "<ipython-input-2-1e86b04c8a9c>", line 6, in <module> from lasagne.layers import DenseLayer File "C:\Program Files (x86)\JetBrains\PyCharm Community Edition 4.0.5\helpers\pydev\pydev_import_hook.py", line 21, in do_import module = self._system_import(name, *args, **kwargs) File "c:\users\aleja_000\anaconda\src\lasagne\lasagne\__init__.py", line 5, in <module> from . import nonlinearities File "C:\Program Files (x86)\JetBrains\PyCharm Community Edition 4.0.5\helpers\pydev\pydev_import_hook.py", line 21, in do_import module = self._system_import(name, *args, **kwargs) File "c:\users\aleja_000\anaconda\src\lasagne\lasagne\nonlinearities.py", line 6, in <module> from theano.tensor.nnet import sigmoid File "C:\Program Files (x86)\JetBrains\PyCharm Community Edition 4.0.5\helpers\pydev\pydev_import_hook.py", line 21, in do_import module = self._system_import(name, *args, **kwargs) File "C:\Users\aleja_000\AppData\Roaming\Python\Python27\site-packages\theano\__init__.py", line 55, in <module> from theano.compile import ( File "C:\Program Files (x86)\JetBrains\PyCharm Community Edition 4.0.5\helpers\pydev\pydev_import_hook.py", line 21, in do_import module = self._system_import(name, *args, **kwargs) File "C:\Users\aleja_000\AppData\Roaming\Python\Python27\site-packages\theano\compile\__init__.py", line 9, in <module> from theano.compile.function_module import * File "C:\Program Files (x86)\JetBrains\PyCharm Community Edition 4.0.5\helpers\pydev\pydev_import_hook.py", line 21, in do_import module = self._system_import(name, *args, **kwargs) File "C:\Users\aleja_000\AppData\Roaming\Python\Python27\site-packages\theano\compile\function_module.py", line 17, in <module> import theano.compile.mode File "C:\Program Files (x86)\JetBrains\PyCharm Community Edition 4.0.5\helpers\pydev\pydev_import_hook.py", line 21, in do_import module = self._system_import(name, *args, **kwargs) File "C:\Users\aleja_000\AppData\Roaming\Python\Python27\site-packages\theano\compile\mode.py", line 11, in <module> import theano.gof.vm File "C:\Program Files (x86)\JetBrains\PyCharm Community Edition 4.0.5\helpers\pydev\pydev_import_hook.py", line 21, in do_import module = self._system_import(name, *args, **kwargs) File "C:\Users\aleja_000\AppData\Roaming\Python\Python27\site-packages\theano\gof\vm.py", line 654, in <module> import lazylinker_c File "C:\Program Files (x86)\JetBrains\PyCharm Community Edition 4.0.5\helpers\pydev\pydev_import_hook.py", line 21, in do_import module = self._system_import(name, *args, **kwargs) File "C:\Users\aleja_000\AppData\Roaming\Python\Python27\site-packages\theano\gof\lazylinker_c.py", line 125, in <module> preargs=args) File "C:\Users\aleja_000\AppData\Roaming\Python\Python27\site-packages\theano\gof\cmodule.py", line 2042, in compile_str (status, compile_stderr.replace('\n', '. '))) Exception: Compilation failed (return status=1): C:\Users\aleja_000\AppData\Local\Theano\compiledir_Windows-8-6.2.9200-Intel64_Family_6_Model_60_Stepping_3_GenuineIntel-2.7.9-64\lazylinker_ext\mod.cpp:1:0: sorry, unimplemented: 64-bit mode not compiled in . #include <Python.h> . ^ . 
+8
c ++ python windows theano anaconda
source share
2 answers

I found that the problem, and would like to post a solution. This particular problem was caused because the file libpythonxx.a was not in the same directory as the pythonxx.dll file (in my case python27.dll and therefore I created the file libpython27.a.

The noble soul has published all the steps necessary to install theano at http://rosinality.ncity.net/doku.php?id=python:installing_theano (in Korean and English). To create such a file, copy the pythonxx.dll file to a temporary directory and enter the following commands in the Windows console:

gendef pythonXX.dll

dlltool --as-flags = - 64-m i386: x86-64 -k --output-lib libpythonXX.a --input-def pythonXX.def

Then you paste the generated libpythonxx.a file into the same directory as the pythonxx.dll file.

On Windows, you usually find this file under C: \ Windows \ System3, but if you use anaconda like me, will you find it under?

C: \ Users \ xxxxx \ Anaconda \ libs, xxxxx, which is your user.

+5
source share

For those using WinPython and mingw, there is additional information here:

1) Don't even bother trying the mingw32 package when using 64-bit Windows, immediately switch to mingw64. This stops the above error from

2) For WinPython, the .theanorc or .theanorc.txt file should not be in your home directory, but in the WinPython / settings directory!

3) Make things easier with Linux style path separators, for example, for the g ++ flag, cxx = d: / dev / mingw-w64 / mingw64 / bin / g ++. exe

4) nvcc needs a path to Windows to include the cl.exe file, which can generally be found in your VS installation under some kind of (VSPATH) / VC / bin

Regards, G.

+1
source share

All Articles