AttributeError:' MSVCCompiler'对象没有属性'编译器'当试图安装一个numpy扩展时

时间:2017-08-15 22:22:57

标签: python python-3.x numpy anaconda python-3.4

我在安装numpy扩展程序py_find_1st 1.1.3时遇到问题。当我尝试在Windows上通过cmd安装它时,我收到以下消息:

D:\Chrome dl\py_find_1st-1.0.6\py_find_1st-1.0.6>python setup.py install
running install
running bdist_egg
running egg_info
writing top-level names to py_find_1st.egg-info\top_level.txt
writing dependency_links to py_find_1st.egg-info\dependency_links.txt
writing py_find_1st.egg-info\PKG-INFO
reading manifest file 'py_find_1st.egg-info\SOURCES.txt'
writing manifest file 'py_find_1st.egg-info\SOURCES.txt'
installing library code to build\bdist.win-amd64\egg
running install_lib
running build_py
running build_ext
Traceback (most recent call last):
  File "setup.py", line 117, in <module>
    zip_safe = False,
  File "D:\Anaconda\lib\distutils\core.py", line 148, in setup
    dist.run_commands()
  File "D:\Anaconda\lib\distutils\dist.py", line 955, in run_commands
    self.run_command(cmd)
  File "D:\Anaconda\lib\distutils\dist.py", line 974, in run_command
    cmd_obj.run()
  File "D:\Anaconda\lib\site-packages\setuptools-27.2.0-py3.5.egg\setuptools\command\install.py", line 67, in run
  File "D:\Anaconda\lib\site-packages\setuptools-27.2.0-py3.5.egg\setuptools\command\install.py", line 109, in do_egg_install
  File "D:\Anaconda\lib\distutils\cmd.py", line 313, in run_command
    self.distribution.run_command(command)
  File "D:\Anaconda\lib\distutils\dist.py", line 974, in run_command
    cmd_obj.run()
  File "D:\Anaconda\lib\site-packages\setuptools-27.2.0-py3.5.egg\setuptools\command\bdist_egg.py", line 161, in run
  File "D:\Anaconda\lib\site-packages\setuptools-27.2.0-py3.5.egg\setuptools\command\bdist_egg.py", line 147, in call_command
  File "D:\Anaconda\lib\distutils\cmd.py", line 313, in run_command
    self.distribution.run_command(command)
  File "D:\Anaconda\lib\distutils\dist.py", line 974, in run_command
    cmd_obj.run()
  File "D:\Anaconda\lib\site-packages\setuptools-27.2.0-py3.5.egg\setuptools\command\install_lib.py", line 11, in run
  File "D:\Anaconda\lib\distutils\command\install_lib.py", line 107, in build
    self.run_command('build_ext')
  File "D:\Anaconda\lib\distutils\cmd.py", line 313, in run_command
    self.distribution.run_command(command)
  File "D:\Anaconda\lib\distutils\dist.py", line 974, in run_command
    cmd_obj.run()
  File "D:\Anaconda\lib\distutils\command\build_ext.py", line 338, in run
    self.build_extensions()
  File "setup.py", line 42, in build_extensions
    if compiler_is_clang(self.compiler.compiler):
AttributeError: 'MSVCCompiler' object has no attribute 'compiler'

我不了解C或Fortran,但如果我理解正确,通常使用这些语言创建numpy扩展。我被告知我可能需要在我的计算机上安装一个编译器,因此我安装了Visual Studio 2017,但我仍然收到相同的消息。

有人知道成功安装此扩展程序的方法吗?

P.S:&#34; cl&#34;命令在命令提示符下被识别。

1 个答案:

答案 0 :(得分:0)

对于未来遇到这种情况的人们来说,这不是一个答案,而更多的是提醒:

根据this link,“编译器是[GNU /] Linux上的属性,而不是Windows上的属性。”因此,每当您遇到此问题时,安装脚本很可能出了点问题。软件包作者很可能没有考虑Windows安装例程,因此需要通知。

如果您想自己解决此问题,建议您在setup.py文件中的任何包含“ self.compiler.compiler [0]”部分的行中进行注释。