运行Python scrip时找不到vcvarsall.bat

2024-05-20 20:21:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我在Vista上工作,使用Python 2.6.4。我正在使用一个使用Python脚本的软件,但遇到了以下消息:

cannot find vcvarsall.bat

所以,我安装了visual c++2010。仍然没有找到文件-尽管,它在那里。我的猜测(一个很没文化的…)是路径错误的地方,因为我还有一个旧的visual 2008(相当空)文件夹。我不知道在哪里为新的道路做改变。我是在注册表中还是在脚本中更改了某些内容?或者别的什么地方?


Tags: 文件路径脚本文件夹消息软件地方错误
3条回答

这里有一个简单的解决方案。我使用的是Python2.7和Windows7。

你试图安装的东西需要C/C++编译器,但Python没有找到它。很多Python包实际上是用C/C++编写的,需要编译。需要编译VC++,而PIP则假设你的机器能做到这一点。

  1. 请先尝试升级setuptools,因为v6.0及更高版本将自动检测编译器。您可能已经有了编译器,但Python找不到它。打开命令行并键入:

    pip install --upgrade setuptools

  2. 现在再次尝试安装您的软件包:

    pip install [yourpackagename]

  3. 如果不起作用,那么肯定没有编译器,因此需要安装一个:
    http://www.microsoft.com/en-us/download/details.aspx?id=44266

  4. 现在再试一次:

    pip install [yourpackagename]

就这样。它应该对你有用。

似乎Python正在显式地寻找Visual Studio 2008。我遇到了这个问题,它找不到vcvarsall.bat,即使它在路上。

原来,Visual Studio 2010创建了以下环境变量:

SET VS100COMNTOOLS=C:\Program Files\Microsoft Visual Studio 10.0\Common7\Tools\

修复方法是创建一个名为VS90COMNTOOLS的变量,并将其指向Visual Studio 2010的common tools文件夹,例如

SET VS90COMNTOOLS=C:\Program Files\Microsoft Visual Studio 10.0\Common7\Tools\

这为我修复了它,我现在可以使用Visual Studio 2010编译器构建包。

还可以使用以下命令将VS90环境变量设置为指向VS100环境变量:

SET VS90COMNTOOLS=%VS100COMNTOOLS%

解决此问题的方法是设置以下环境变量:

VS90COMNTOOLS

例如:

set VS90COMNTOOLS=C:\Program Files\Microsoft Visual Studio 9.0\Common7\Tools

此错误可能是由于在安装Visual Studio后未重新启动,或者在安装后未启动新的命令提示符造成的。

另外,可以用来编译扩展的Visual Studios的版本可能取决于您为之构建的python的版本。

相关问题 更多 >