我使用python与windows8 / anaconda spyder(2.7) 我正在尝试更新Theano最新版本。当我通过
安装theano时"pip install --upgrade theano"
错误发生在numpy安装部分。
虽然可以在anaconda GUI中使用numpy,但是在anaconda终端中没有显示。 (pip show numpy什么都不输出)
错误如下(当我尝试安装numpy时,会发生同样的错误)
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 :(得分:4)
这很可能是个问题。不幸的是,即使在我建议修复后我也无法升级theano,但是按照this one这样的分步指南可能会有效。
出现此特定问题是因为numpy.distutils.misc_util.mingw32()
返回False,而不应返回False。另请参阅this discussion和the source
。我决定手动将系统变量MSYSTEM
设置为MINGW32
,这在我的系统中没有定义,并且我发现不太可能破坏任何其他行为。
正如我所说,这并不能保证升级能够起作用,也不会产生任何副作用,但它会解决这里提到的问题。