【问题标题】:ImportError: Unable to find vcvarsall.bat with python 2.7.12ImportError:无法使用 python 2.7.12 找到 vcvarsall.bat
【发布时间】:2016-08-28 13:07:08
【问题描述】:

我对 python 很陌生,我想在 Windows 64 位上将模块“lic_internal”与 python 2.7.12 一起使用,但我收到以下错误:

Traceback (most recent call last):
  File "04_report.py", line 32, in <module>
import utils_show as ushow
  File "./libs\utils_show.py", line 45, in <module>
import lic_internal
  File "D:\Programme\Python27\lib\site-packages\pyximport\pyximport.py", line 445, in load_module language_level=self.language_level)
  File "D:\Programme\Python27\lib\site-packages\pyximport\pyximport.py", line 234, in load_module exec("raise exc, None, tb", {'exc': exc, 'tb': tb})
  File "D:\Programme\Python27\lib\site-packages\pyximport\pyximport.py", line 216, in load_module inplace=build_inplace, language_level=language_level)
  File "D:\Programme\Python27\lib\site-packages\pyximport\pyximport.py", line 192, in build_module reload_support=pyxargs.reload_support)
  File "D:\Programme\Python27\lib\site-packages\pyximport\pyxbuild.py", line 102, in pyx_to_dll dist.run_commands()
  File "D:\Programme\Python27\lib\distutils\dist.py", line 953, in run_commands self.run_command(cmd)
  File "D:\Programme\Python27\lib\distutils\dist.py", line 972, in run_command cmd_obj.run()
  File "D:\Programme\Python27\lib\site-packages\Cython\Distutils\build_ext.py", line 164, in run _build_ext.build_ext.run(self)
  File "D:\Programme\Python27\lib\distutils\command\build_ext.py", line 339, in run self.build_extensions()
  File "D:\Programme\Python27\lib\site-packages\Cython\Distutils\build_ext.py", line 172, in build_extension self.build_extension(ext)
  File "D:\Programme\Python27\lib\distutils\command\build_ext.py", line 498, in build_extension depends=ext.depends)
  File "D:\Programme\Python27\lib\distutils\msvc9compiler.py", line 474, in compile self.initialize()
  File "D:\Programme\Python27\lib\distutils\msvc9compiler.py", line 384, in initialize vc_env = query_vcvarsall(VERSION, plat_spec)
  File "D:\Programme\Python27\lib\distutils\msvc9compiler.py", line 272, in query_vcvarsall raise DistutilsPlatformError("Unable to find vcvarsall.bat")

ImportError: Building module lic_internal failed: ['DistutilsPlatformError: Unable to find vcvarsall.bat\n']

我已安装“Visual C++ for Python 2.7”并尝试将“Python27\lib\distutils\msvc9compiler.py”中的路径更改如下:

def query_vcvarsall(version, arch="x86"):
"""Launch vcvarsall.bat and read the settings from its environment
"""
vcvarsall = find_vcvarsall(version)
vcvarsall = "C:/Users/Christian/AppData/Local/Programs/Common/Microsoft/Visual C++ for Python/9.0" + "/vcvarsall.bat"
interesting = set(("include", "lib", "libpath", "path"))

这意味着我在“vcvarsall”中保存了确切的路径。

然后我得到以下错误:

Traceback (most recent call last):
File "04_report.py", line 32, in <module> import utils_show as ushow
File "./libs\utils_show.py", line 45, in <module> import lic_internal
File "D:\Programme\Python27\lib\site-packages\pyximport\pyximport.py", line 445, in load_module language_level=self.language_level)
File "D:\Programme\Python27\lib\site-packages\pyximport\pyximport.py", line 234, in load_module exec("raise exc, None, tb", {'exc': exc, 'tb': tb})
File "D:\Programme\Python27\lib\site-packages\pyximport\pyximport.py", line 216, in load_module inplace=build_inplace, language_level=language_level)
File "D:\Programme\Python27\lib\site-packages\pyximport\pyximport.py", line 192, in build_module reload_support=pyxargs.reload_support)
File "D:\Programme\Python27\lib\site-packages\pyximport\pyxbuild.py", line 102, in pyx_to_dll dist.run_commands()
File "D:\Programme\Python27\lib\distutils\dist.py", line 953, in run_commands self.run_command(cmd)
File "D:\Programme\Python27\lib\distutils\dist.py", line 972, in run_command cmd_obj.run()
File "D:\Programme\Python27\lib\site-packages\Cython\Distutils\build_ext.py", line 164, in run _build_ext.build_ext.run(self)
File "D:\Programme\Python27\lib\distutils\command\build_ext.py", line 339, in run self.build_extensions()
File "D:\Programme\Python27\lib\site-packages\Cython\Distutils\build_ext.py", line 172, in build_extensions self.build_extension(ext)
File "D:\Programme\Python27\lib\distutils\command\build_ext.py", line 498, in build_extension depends=ext.depends)
File "D:\Programme\Python27\lib\distutils\msvc9compiler.py", line 549, in compile raise CompileError(msg)  

ImportError: Building module lic_internal failed: ["CompileError: command 'C:\\\\Users\\\\Christian\\\\AppData\\\\Local\\Programs\\\\Common\\\\Microsoft\\\\Visual C++ for Python\\\\9.0\\\\VC\\\\Bin\\\\cl.exe' failed with exit status 2\n"]

此外,我的计算机上安装了 Visual C++ 2013,但是当我下载了适用于 python 的 C++ 编译器包时,它应该不是必需的,对吧?

【问题讨论】:

    标签: python python-2.7 visual-c++ distutils python-c-extension


    【解决方案1】:

    如果还是有问题,我通过卸载系统中的其他python解决了。为确保您需要使用https://stackoverflow.com/a/30272728/7497110 定义要使用的python 的路径,然后打开msvc9compiler.py 并执行此操作https://github.com/cython/cython/wiki/CythonExtensionsOnWindows。然后你可能会遇到众所周知的标题问题(即 *.h 没有这样的文件或目录)。在这种情况下,您可以使用http://www.pythonlibrary.org/notes/open_glcontext_notes.htm 中的说明。请记住更新 python,尤其是 distutils 和 numpy。如果问题解决了,请告诉我。

    【讨论】:

    • 欢迎来到 Stack Overflow!请不要添加 Me too! 作为答案。它实际上并没有提供问题的答案,并且可能被其未来的访问者视为噪音。如果你有一个不同但相关的问题,那么ask它(如果它有助于提供上下文,请参考这个问题)。如果您对这个特定问题感兴趣,您可以upvote 它或在您有足够的reputation 时留下comment
    猜你喜欢
    • 2013-07-13
    • 2011-01-17
    • 2014-09-07
    • 2011-02-18
    • 2021-02-17
    • 2016-09-28
    相关资源
    最近更新 更多