2015-11-24 4 views
19

Ich benutze Python mit Windows8/Anaconda Spyder (2.7) Ich versuche, Theano up-to-date zu aktualisieren. Wenn ich das Theano durchNumpy Installationsfehler. (Mingw32CCompiler-Instanz hat kein Attribut 'compile_options')

"pip install --upgrade theano" 

installiere, tritt der Fehler am numpy Installationsteil auf.

Obwohl numpy zur Verwendung in Anaconda GUI verfügbar ist, aber nicht in Anaconda-Terminal angezeigt wird. (Pip zeigen numpy gibt nichts aus)

Der Fehler wie unten ist (wenn ich versuche, numpy zu installieren, gleiche Fehler passiert)

File "c:\users\user\appdata\local\temp\pip_build_user\numpy\numpy\distutils\command\build_src.py", line 329, in build_extension_sources 

    sources = self.generate_sources(sources, ext) 

    File "c:\users\user\appdata\local\temp\pip_build_user\numpy\numpy\distutils\command\build_src.py", line 386, in generate_sources 

    source = func(extension, build_dir) 

    File "numpy\core\setup.py", line 455, in generate_config_h 

    rep = check_long_double_representation(config_cmd) 

    File "numpy\core\setup_common.py", line 191, in check_long_double_representation 

    cmd.compiler.compile_options.remove("/GL") 

AttributeError: Mingw32CCompiler instance has no attribute 'compile_options' 

---------------------------------------- 
Cleaning up... 
    Removing temporary dir c:\users\user\appdata\local\temp\pip_build_user... 
Command C:\Anaconda\python.exe -c "import setuptools, tokenize;__file__='c:\\users\\user\\appdata\\local\\temp\\pip_build_user\\numpy\\setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record c:\users\user\appdata\local\temp\pip-nm4fpu-record\install-record.txt --single-version-externally-managed --compile failed with error code 1 in c:\users\user\appdata\local\temp\pip_build_user\numpy 
Exception information: 
Traceback (most recent call last): 
    File "C:\Anaconda\lib\site-packages\pip\basecommand.py", line 122, in main 
    status = self.run(options, args) 
    File "C:\Anaconda\lib\site-packages\pip\commands\install.py", line 283, in run 
    requirement_set.install(install_options, global_options, root=options.root_path) 
    File "C:\Anaconda\lib\site-packages\pip\req.py", line 1435, in install 
    requirement.install(install_options, global_options, *args, **kwargs) 
    File "C:\Anaconda\lib\site-packages\pip\req.py", line 706, in install 
    cwd=self.source_dir, filter_stdout=self._filter_install, show_stdout=False) 
    File "C:\Anaconda\lib\site-packages\pip\util.py", line 697, in call_subprocess 
    % (command_desc, proc.returncode, cwd)) 
InstallationError: Command C:\Anaconda\python.exe -c "import setuptools, tokenize;__file__='c:\\users\\user\\appdata\\local\\temp\\pip_build_user\\numpy\\setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record c:\users\user\appdata\local\temp\pip-nm4fpu-record\install-record.txt --single-version-externally-managed --compile failed with error code 1 in c:\users\user\appdata\local\temp\pip_build_user\numpy 
+0

Haben Sie 'conda update conda', 'conda update --all',' conda install libpython mingw' ausgeführt? Haben Sie Ihre eigene Version von MinGW installiert (z. B. über TDM-GCC)? Wenn ja, hat es die gleiche Bit-Ness wie Ihre Anaconda Installation (d. H. 64bit Anaconda benötigt 64bit TDM-GCC)? Können Sie Ihre 'PATH'-Umgebungsvariable teilen? –

Antwort

4

Dies ist höchstwahrscheinlich ein numpy Problem. Leider konnte ich Theano auch nach der Reparatur nicht verbessern, aber eine Schritt für Schritt Anleitung wie this one könnte funktionieren.

Dieses spezielle Problem tritt auf, weil numpy.distutils.misc_util.mingw32() False zurückgibt, während es nicht sollte. Siehe auch this discussion und the source . Ich entschied mich, die Systemvariable MSYSTEM manuell auf MINGW32 zu setzen, was in meinem System nicht definiert war und von der ich wahrscheinlich kein anderes Verhalten annehme.

Wie gesagt, dies garantiert nicht, dass das Upgrade funktioniert und dass es keine Nebenwirkungen gibt, aber es löst das hier erwähnte Problem.