错误:Microsoft Visual C ++ 10.0是必需的(无法findvcvarsall.bat)

我试图用PyCharm安装numpy,但我不断收到此错误:

错误:Microsoft Visual C ++ 10.0是必需的(无法findvcvarsall.bat)。

有人可以请我解释一下,我必须做什么来解决这个错误(尽可能简单和详细)? 即时通讯使用Python 3.4.2(我知道这已被回答之前,但我不明白)。

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

可用的32位2.7和3.3 / 3.4的版本。
当然,PyCharm马上检测到它们。

我能够通过在命令提示符下运行“set”命令来确定现有的Visual Studio工具环境variables,从而在运行Python 3.4.3的Windows 7 64位上修复此问题; 在我的情况下,VS140COMNTOOLS为Visual Studio社区2015年。

然后运行以下代码(如果您的名称不同,则replace右侧的variables):

设置VS100COMNTOOLS =%VS140COMNTOOLS%

这让我安装了PyCrypto模块,这个模块以前给了我和OP一样的错误。

对于更持久的解决scheme,通过控制面板(“编辑系统环境variables”)将此环境variables添加到Windows环境,尽pipe您可能需要使用实际path而不是variablesreplace。

Python 3.3和更高版本现在使用2010编译器。 要解决这个问题,最好的办法就是免费安装Visual C ++ Express 2010 。

现在来64位用户更难的部分,老实说,我只是搬到了32位,但2010年快递不带有64位编译器(你会得到一个新的错误,ValueError:['path']),所以你必须安装Microsoft SDK 7.1,并按照这里的指示获得64位编译器与Python的工作: Python PIP与Windows 7上的MS Visual Studio 2010 Express的64位安装path的问题

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

只需下载所需的.whl文件,移动鼠标右键点击下载文件夹,然后select“在这里打开命令窗口”并运行

 pip install module-name.whl 

我在64位3.4.3上使用该方法之前,我打破了,并决定只是得到一个工作的编译器从编译默认的源代码模块,这就是为什么二进制轮文件工作,并从源创build点不。

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

我遇到过这个问题两次了。 我第一次使用VS 2013和第二次我用不同的解决schemeVS 2015。 VS 2013和Python 2.7的第一个解决scheme是:

  1. 点击win + R
  2. inputSET VS90COMNTOOLS=%VS120COMNTOOLS%
  3. closures所有窗口
  4. 再次inputpip安装

现在,一年后,我发现了一个更简单的方法来解决这个问题。 这次我使用VS 2015和Python 3.4。

  1. 右键单击我的电脑。
  2. 点击属性
  3. 高级系统设置
  4. 环境variables
  5. 添加新的系统variables
  6. inputVS100COMNTOOLS到variables名称
  7. inputVS140COMNTOOLS的值到新的variables。
  8. closures所有窗口

现在我相信你会问一些问题什么是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%

和添加新的系统variables一样。 看第二种方法。

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

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

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

注意:还要确保你有x86的一切(Python + Postgresql),否则你会得到其他的错误。 我没有尝试x64的一切。

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

试图安装lxml,抢和其他扩展,这需要VS 10.0 +,并得到同样的问题。 我find了自己的方法来解决这个问题(Windows 10 x64,Python 3.4以上):

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

  2. 从控制面板\程序和function中删除所有Microsoft Visual C ++ 2010 Redistributable软件包。 如果你不这样做,那么安装将会失败,出现一个模糊的“安装过程中的致命错误”错误。

  3. 安装离线版本的Windows SDK for Visual Studio 2010(v7.1)( 下载 )。 这是64位扩展所必需的。 Windows已经内置ISO安装。 只需挂载ISO并运行Setup \ SDKSetup.exe而不是setup.exe。

  4. 在C:\ Program Files(x86)\ Microsoft Visual Studio 10.0 \ VC \ bin \ amd64中创build一个vcvars64.bat文件,其中包含:

    CALL“C:\ Program Files \ Microsoft SDKs \ Windows \ v7.1 \ Bin \ SetEnv.cmd”/ x64

  5. 在这个网站上find扩展名,然后把它们放到python文件夹中,用pip安装.whl扩展名:

    python -m pip安装extensionname.whl

  6. 请享用

你必须检查你的pip软件包,以便更新到pycharm中的最新版本,然后安装numpy软件包。 在设置 – >项目:progLangComp – >项目解释器有一个软件包及其当前版本(只标记为版本)及其最新版本(标记为最新)的表格。 当前版本号应与最新版本相同。 如果你在pip前看到一个蓝色的箭头,你必须把它更新到最新,然后试着安装numpy或者其他你不能安装的软件包,对我来说,这是我想要安装的pandas。

在这里input图像说明