这个问题在这里已经有了答案:运行 Python 脚本时找不到 vcvarsall.bat(18 个答案)6 年前关闭。
我正在尝试使用 PyCharm 安装 numpy,但我不断收到此错误:
错误:需要 Microsoft Visual C++ 10.0(无法找到 vcvarsall.bat)。
有人可以准确地向我解释我必须做什么来解决这个错误(并且尽可能简单和详细)吗?我使用python 3.4.2(我知道这已经回答过,但我不明白)。
通过在命令提示符处运行 set
命令以确定现有的 Visual Studio 工具环境变量,我能够在运行 Python 3.4.3 的 Windows 7 64 位上解决此问题;就我而言,它是 Visual Studio Community 2015 的 VS140COMNTOOLS
。
然后运行以下命令(如果您的名称不同,请替换右侧的变量):
set VS100COMNTOOLS=%VS140COMNTOOLS%
这允许我安装 PyCrypto 模块,该模块以前给我与 OP 相同的错误。
要获得更持久的解决方案,请通过控制面板(“编辑系统环境变量”)将此环境变量添加到您的 Windows 环境中,尽管您可能需要使用实际路径而不是变量替换。
Python 3.3 及更高版本现在使用 2010 编译器。解决此问题的最佳方法是免费安装 Visual C++ Express 2010。
现在对于 64 位用户来说是更难的部分,老实说,我刚搬到 32 位,但 2010 express 没有配备 64 位编译器(你得到一个新错误,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 位版本。除了让编译器工作之外,您还可以通过从该位置获取二进制轮文件来绕过编译许多模块的需要 http://www.lfd.uci.edu/~gohlke/pythonlibs/
只需下载您需要的.whl 文件,shift + 右键单击下载文件夹并选择“在此处打开命令窗口”并运行
pip install module-name.whl
在我崩溃之前,我在 64 位 3.4.3 上使用了该方法,并决定只为 pip 默认情况下从源代码编译模块获取一个工作编译器,这就是为什么二进制轮文件工作而从源代码构建 pip 不工作的原因。
在 Python 2.7 上遇到此 (vcvarsall.bat) 错误的人可以改为安装“Microsoft Visual C++ Compiler for Python 2.7”
lxml-3.4.4-cp34-none-win_amd64.whl is not a supported wheel on this platform.
我正在使用 Windows 8.1 x64 和 python 3.4.3
我遇到过两次这个问题。我第一次使用 VS 2013,第二次使用不同解决方案的 VS 2015。 VS 2013 和 python 2.7 的第一个解决方案是:
点击win+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):设置 VS90COMNTOOLS=%VS100COMNTOOLS%
Visual Studio 2012 (VS11):设置 VS90COMNTOOLS=%VS110COMNTOOLS%
Visual Studio 2013 (VS12):设置 VS90COMNTOOLS=%VS120COMNTOOLS%
Visual Studio 2015 (VS15):设置 VS90COMNTOOLS=%VS140COMNTOOLS%
或者如果您使用的是 python 3.x 和
Visual Studio 2010 (VS10):设置 VS100COMNTOOLS=%VS100COMNTOOLS%
Visual Studio 2012 (VS11):设置 VS100COMNTOOLS=%VS110COMNTOOLS%
Visual Studio 2013 (VS12):设置 VS100COMNTOOLS=%VS120COMNTOOLS%
Visual Studio 2015 (VS15):设置 VS100COMNTOOLS=%VS140COMNTOOLS%
这与添加新的系统变量相同。见第二种方式。
更新:有时,它仍然不起作用。检查您的路径,确保包含 VSxxxCOMNTOOLS
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 一切。
我遇到了同样的错误,最终使用了 SourceForge 中可用的 numpy 的预构建分布(类似地,可以获得 matplotlib 的分布)。
32 位 2.7 和 3.3/3.4 的构建都可用。当然,PyCharm 会立即检测到它们。
尝试安装 lxml、grab 和其他扩展,需要 VS 10.0+ 并得到相同的问题。我找到了自己的方法来解决这个问题(Windows 10 x64,Python 3.4+):
安装 Visual C++ 2010 Express(下载)。 (不要安装 Microsoft Visual Studio 2010 Service Pack 1)从控制面板\程序和功能中删除所有 Microsoft Visual C++ 2010 Redistributable 软件包。如果您不这样做,那么安装将失败,并出现一个模糊的“安装过程中的致命错误”错误。安装适用于 Visual Studio 2010 (v7.1) 的脱机版 Windows SDK(下载)。这是 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 享用
您必须检查您的 pip 包以更新到 pycharm 中的最新版本,然后安装 numpy 包。在设置 -> 项目:progLangComp -> 项目解释器中有一个包表及其当前版本(仅标记为版本)及其最新版本(标记为最新)。 Pip 当前版本号应与最新版本相同。如果您在 pip 前面看到一个蓝色箭头,则必须将其更新到最新版本,然后尝试安装 numpy 或您无法安装的任何其他软件包,对我来说,我想安装的是 pandas。
不定期副业成功案例分享
变量名:VS100COMNTOOLS 变量值:C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC
export VS100COMNTOOLS=$VS140COMNTOOLS
如果您使用 bash