在Windows 8中,使用Python 3.3时无法找到vcvarsall.bat文件

20

当我尝试运行以下命令时,遇到了问题:

pip install numpy

我理解为:

unable to find vcvarsall.bat.

我按照以下步骤操作:如何在使用Pip安装Python包时使用MinGW的gcc编译器?.

  • 我安装了带有C ++编译器选项的MinGW
  • 我将MinGW添加到我的路径中

这是我的路径:

 C:\Python33\;%SYSTEMROOT%\SYSTEM32;%SYSTEMROOT%;%SYSTEMROOT%\SYSTEM32\WBEM;%SYSTEMROOT%\SYSTEM32\WINDOWSPOWERSHELL\V1.0\;C:\Program Files\WIDCOMM\Bluetooth Software\;C:\Python33\;C:\Python33\Scripts;C:\MinGW\bin;
  • I created distutils.cfg with the following lines

    [build]
    compiler=mingw32
    

在这里:

C:\Python33\Lib\distutils\distutils.cfg

仍然遇到相同的错误,不确定我做错了什么。

我使用的是Windows 8系统(32位),Python 3.3。我安装了Visual Studio 12.0,最终希望将其用作我的Python IDE。

感谢您的帮助!

编辑:

easy_install numpy

无故障运作。

5个回答

11

正如其他人已经提到的,似乎你的电脑上没有安装 Microsoft Visual Studio 2010。Python 的旧版本使用的是 Visual Studio 2008,但现在使用的是 2010 版本。特别地,编译某些代码需要使用 2010 版本(而不是 2008、2013 或其他任何版本)。

安装程序正在查找你的环境变量以获取 Visual Studio 2010 工具。请注意,Visual Studio 2008 或 2013 都无法工作,因为编译器专门寻找工具的 2010 版本。

要查看你是否正确地设置了 2010 版本,请右键单击“我的电脑”,然后选择“属性”。在打开的窗口中,左侧应该有一个“高级系统设置”选项。在打开的新窗口中,转到“高级”选项卡,然后单击“环境变量”按钮。在“系统变量”中,应该有一个名为“VS100COMNTOOLS”的变量,它指向 Visual Studio 2010 工具目录。在我的系统上,这是“C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\Tools\”。

以上其中一位用户建议的方法是解决方案,如果你有不同版本的 Visual Studio。例如,我有一个 2013 版本的 Visual Studio,因此我有一个名为“VS120COMNTOOLS”的变量,它指向 2013 工具集。由于 Visual Studio 版本共享许多相同的工具,你可能可以通过添加一个新变量“VS100COMNTOOLS”,其值为 %VS120COMNTOOLS% 或 VS120COMNTOOLS 指向的目录,使用较新或较旧版本的 Visual Studio 编译 Python。在这种情况下,在 Python 尝试编译时,它将认为正在使用 2010 工具,但实际上将在你的系统上使用 2013 工具(或你有的任何其他版本的 Visual Studio)。当然,这样做可能会引起问题,但我猜一切都会运行良好。只要注意如果你遇到问题,它可能是由于使用了错误的工具所致。

最好的方法是安装Visual Studio 2010 Express(我认为是免费的)。


安装 paramiko 和它的依赖项非常完美。 - Zeta Two
这个链接也可以用吗?https://www.microsoft.com/en-gb/download/details.aspx?id=5555 - Ammar Akhtar
似乎不起作用...仍然收到相同的错误,也找不到下载文件所在的安装路径...有什么想法吗? - Ammar Akhtar
然后尝试下载整个IDE。我不知道你提到的文件将下载到哪里。 - bremen_matt

8

4
若有人寻找 Visual Studio 2010 Express 的 ISO 直链,请使用以下链接 -> http://download.microsoft.com/download/1/E/5/1E5F1C0A-0D5B-426A-A603-1798B951DDAE/VS2010Express1.iso - fedmich
@fedmich 非常感谢。在网上寻找已弃用软件的实际下载,而到处都是VS2015,这真是令人恼火。 - gparent

5
你可以继续使用Visual Studio,但你需要将它“重定向”到你已安装的版本。在我的情况下,我有VS 2012和Python 3.3。 SET VS100COMNTOOLS=%VS110COMNTOOLS% 这将使pip使用VS2012的vcvarsall.bat文件。较旧版本的Python可能需要更改VS90COMNTOOLS变量。

我尝试过这个,但是出现了工具链错误。来这里看看是否有其他想法的人。 - Asad Saeeduddin
@Asad 请尝试跟随我的另一个问题,针对损坏的工具链错误,您需要在msvc9compiler.py中更改以下内容:KEY_BASE = r"Software\Microsoft\\"。这适用于“某些”问题,这就是为什么我的问题还没有得到答案的原因。 - Matt
对于Visual Studio 2013,请使用SET VS100COMNTOOLS=%VS110COMNTOOLS%如果出现工具链错误,请使用Visual Studio x86命令提示符。 - Atiq Rahman

4

我曾经遇到过同样的问题。我的电脑上装有VS2012和Python 2.7。

在命令提示符中输入以下命令:

SET VS90COMNTOOLS=%VS110COMNTOOLS%

然后使用pip install命令进行安装。

这样就可以解决问题了。


2

我在Windows 8上也遇到了同样的问题,下载并安装numpy编译库可以解决问题。


谢谢。我喜欢 R 的一件事是在 Windows 上安装和版本控制都非常简单。:/ Python... - obesechicken13

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接