首页 文章

错误:需要Microsoft Visual C 10.0(无法找到vcvarsall.bat)[重复]

提问于
浏览
74

这个问题在这里已有答案:

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

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

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

8 回答

  • 32

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

    可提供32位2.7和3.3 / 3.4的版本 .
    当然,PyCharm会立即发现它们 .

  • 2

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

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

    set VS100COMNTOOLS=%VS140COMNTOOLS%
    

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

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

  • 10

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

    对于64位用户来说现在更难了,说实话我只是移动到了32位,但2010年快递没有't come with a 64 bit compiler (you get a new error, ValueError: [' path'])所以你必须安装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的原因 .

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

  • 11

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

    • 点击胜利R.

    • 输入 SET VS90COMNTOOLS=%VS120COMNTOOLS%

    • 关闭所有窗口

    • 再次输入pip install

    现在,一年后,我找到了一种更简单的方法来解决它 . 这次我使用VS 2015和python 3.4 .

    • 右键单击“我的电脑” .

    • 单击“属性”

    • 高级系统设置

    • 环境变量

    • 添加新系统变量

    • 输入 VS100COMNTOOLS 到变量名称

    • 为新变量输入 VS140COMNTOOLS 的值 .

    • 关闭所有窗口

    现在我确定你会问一些问题 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

  • 9

    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的一切 .

  • 23

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

  • 7

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

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

    • 从“控制面板”\“程序和功能”中删除所有Microsoft Visual C 2010可再发行组件包 . 如果您不这样做,那么安装将失败,并显示“安装期间出现致命错误”错误 .

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

    • 在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”/ x64

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

    python -m pip install extensionname.whl

    • 享受
  • 52

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

    enter image description here

相关问题