错误:需要Microsoft Visual C ++ 10.0(无法找到vcvarsall.bat)

时间:2015-01-31 11:57:24

标签: python numpy pycharm

我试图用PyCharm安装numpy,但我一直收到这个错误:

  

错误:需要Microsoft Visual C ++ 10.0(无法找到   vcvarsall.bat)。

有人可以向我解释我必须做些什么来解决这个错误(尽可能简单和详细)?即时通讯使用python 3.4.2(我知道这已经得到了回答,但我不明白)。

8 个答案:

答案 0 :(得分:53)

我能够在运行Python 3.4.3的Windows 7 64位上通过在命令提示符下运行set命令来确定现有的Visual Studio工具环境变量。就我而言,Visual Studio Community 2015是VS140COMNTOOLS

然后执行以下操作(如果您的名称不同,则替换右侧的变量):

set VS100COMNTOOLS=%VS140COMNTOOLS%

这允许我安装PyCrypto模块,该模块之前给出了与OP相同的错误。

要获得更持久的解决方案,请通过“控制面板”(“编辑系统环境变量”)将此环境变量添加到Windows环境中,但您可能需要使用实际路径而不是变量替换。

答案 1 :(得分:32)

Python 3.3及更高版本现在使用2010编译器。解决问题的最佳方法是免费安装Visual C++ Express 2010

对于64位用户来说现在变得更难了,说实话我只是转移到了32位,但2010快递并没有配备64位编译器(你得到一个新的错误,ValueError:['路径'])因此您必须安装Microsoft SDK 7.1并按照此处的说明使64位编译器使用python:Python PIP has issues with path for MS Visual Studio 2010 Express for 64-bit install on Windows 7

现在使用32位版本可能更容易。除了使编译器工作之外,您还可以通过从此位置获取二进制wheel文件来绕过编译许多模块的需要http://www.lfd.uci.edu/~gohlke/pythonlibs/

只需下载您需要的.whl文件,转移+右键单击下载文件夹,然后在此处选择"打开命令窗口"并运行

pip install module-name.whl 

我在64位3.4.3之前使用了这个方法,然后我决定在默认情况下从源代码获得pip编译模块的工作编译器,这就是为什么二进制轮文件工作并且从源代码创建pip而不是&# 39;吨

人们在Python 2.7上得到这个(vcvarsall.bat)错误可以改为安装" Microsoft Visual C ++编译器for Python 2.7"

答案 2 :(得分:24)

我两次遇到过这个问题。 我第一次使用VS 2013,第二次使用VS 2015使用不同的解决方案。 VS 2013和python 2.7的第一个解决方案是:

  1. 点击win + R
  2. 输入SET VS90COMNTOOLS=%VS120COMNTOOLS%
  3. 关闭所有窗口
  4. 再次输入pip install
  5. 现在,一年后,我找到了一种更简单的方法来解决它。 这次我使用VS 2015和python 3.4。

    1. 右键单击“我的电脑”。
    2. 单击“属性”
    3. 高级系统设置
    4. 环境变量
    5. 添加新系统变量
    6. 输入VS100COMNTOOLS到变量名称
    7. 为新变量输入VS140COMNTOOLS的值。
    8. 关闭所有窗口
    9. 现在我确定你会问一些问题VSXXXCOMNTOOLS是什么,如果我使用VS2008或其他编译器我该怎么办。

      有一个文件python \ lib \ distutils \ msvc9compiler.py,从216行开始我们看到

      def find_vcvarsall(version):
          """Find the vcvarsall.bat file
          At first it tries to find the productdir of VS 2010 in the registry. If
          that fails it falls back to the VS100COMNTOOLS env var.
          """
      

      这意味着你必须为它提供VS 2010的productdir,所以如果你正在使用它 python 2.x和

      • Visual Studio 2010 (VS10):SET VS90COMNTOOLS=%VS100COMNTOOLS%
      • Visual Studio 2012 (VS11):SET VS90COMNTOOLS=%VS110COMNTOOLS%
      • Visual Studio 2013 (VS12):SET VS90COMNTOOLS=%VS120COMNTOOLS%
      • Visual Studio 2015 (VS15):SET VS90COMNTOOLS=%VS140COMNTOOLS%

      或者如果您使用的是python 3.x和

      • Visual Studio 2010 (VS10):SET VS100COMNTOOLS=%VS100COMNTOOLS%
      • Visual Studio 2012 (VS11):SET VS100COMNTOOLS=%VS110COMNTOOLS%
      • Visual Studio 2013 (VS12):SET VS100COMNTOOLS=%VS120COMNTOOLS%
      • Visual Studio 2015 (VS15):SET VS100COMNTOOLS=%VS140COMNTOOLS%

      它与添加新系统变量相同。见第二种方式。

      更新:有时,它仍然无法正常工作。检查您的路径,确保包含VSxxxCOMNTOOLS

答案 3 :(得分:11)

VS 2010 Express不再链接到任何VS Express页面(我发现)。我确实找到了我使用的ISO链接,它修复了这里提到的错误。

http://download.microsoft.com/download/1/E/5/1E5F1C0A-0D5B-426A-A603-1798B951DDAE/VS2010Express1.iso

注意:另外请确保您拥有x86所有内容(Python + Postgresql),否则您将收到其他错误。我没有尝试x64的一切。

答案 4 :(得分:10)

我收到了同样的错误,最后使用SourceForge中预先构建的numpy分布(类似地,可以获得matplotlib的分布)。

可提供32位2.7和3.3 / 3.4的构建 当然,PyCharm会立即发现它们。

答案 5 :(得分:9)

您可以在LFD下载.whl。然后在CMD中使用“pip install ***。whl”

答案 6 :(得分:7)

尝试安装lxml,抓取和其他扩展,这需要VS 10.0+并获得相同的问题。我找到了解决这个问题的方法(Windows 10 x64,Python 3.4 +):

  1. 安装Visual C ++ 2010 Express(download)。 (不要安装Microsoft Visual Studio 2010 Service Pack 1)

  2. 从“控制面板”\“程序和功能”中删除所有Microsoft Visual C ++ 2010可再发行组件包。如果你不这样做,那么在安装过程中,安装将会失败并且会出现一个模糊的错误"致命错误。错误。

  3. 安装适用于Visual Studio 2010的Windows SDK的离线版本(v7.1)(download)。这是64位扩展所必需的。 Windows内置了ISO安装。只需安装ISO并运行Setup \ SDKSetup.exe而不是setup.exe。

  4. 在C:\ Program Files(x86)\ Microsoft Visual Studio 10.0 \ VC \ bin \ amd64中创建一个包含以下内容的vcvars64.bat文件:

    CALL" C:\ Program Files \ Microsoft SDKs \ Windows \ v7.1 \ Bin \ SetEnv.cmd" / 64

  5. 在此网站上查找扩展程序,然后将它们放入python文件夹,并使用pip安装.whl扩展名:

    python -m pip install extensionname.whl

  6. 享受

答案 7 :(得分:2)

您必须检查您的pip包以更新到pycharm中的最新版本,然后安装numpy包。 在设置中 - >项目:progLangComp - > Project Interpreter有一个包及其当前版本(仅标记为Version)及其最新版本(标记为Latest)的表格。 Pip当前版本号应与最新版本相同。如果你看到pip前面有一个蓝色箭头,你必须将它更新到最新版本,然后尝试安装numpy或你无法安装的任何其他软件包,对我来说这是我想要安装的pandas。

enter image description here