ChatGPT解决这个技术问题 Extra ChatGPT

错误:运行 Python 脚本时需要 Microsoft Visual C++ 10.0(无法找到 vcvarsall.bat)[重复]

这个问题在这里已经有了答案:运行 Python 脚本时找不到 vcvarsall.bat(18 个答案)6 年前关闭。

我正在尝试使用 PyCharm 安装 numpy,但我不断收到此错误:

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

有人可以准确地向我解释我必须做什么来解决这个错误(并且尽可能简单和详细)吗?我使用python 3.4.2(我知道这已经回答过,但我不明白)。

具有讽刺意味的是,这个问题没有公认的答案。此问题还需要有关平台的更多详细信息。什么版本的 numpy、PyCharm 和 windows。更重要的是,哪些部分是 32 位的,哪些是 64 位的。
64 位 Windows 7 家庭高级版,numpy 1.9.1,pycharm 4.0.4。 64位python 3.4.2
如果您有其他版本的 Visual Studio,请查看@Gordon Mckeown 的答案。 (stackoverflow.com/a/32006750/6629)
如果您使用的是 Visual Studio,Microsoft PTVS github 对此错误有话要说:github.com/Microsoft/PTVS/wiki/Python-Environments

W
Wtower

通过在命令提示符处运行 set 命令以确定现有的 Visual Studio 工具环境变量,我能够在运行 Python 3.4.3 的 Windows 7 64 位上解决此问题;就我而言,它是 Visual Studio Community 2015 的 VS140COMNTOOLS

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

set VS100COMNTOOLS=%VS140COMNTOOLS%

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

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


这非常有用。我想分享我在 Windows 10 64bit 上的配置。我已经安装了 python 3.4.3 32bits。我的 'VS140COMNTOOLS' 中没有 'vcvarsall.bat' 但它位于 'C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC' 然后我按照你的技术。 1. 使用 VC++ 编程安装 Visual Studio 2015 社区版 2. 在 System Properties....Advanced....Environment Variables 中创建新的用户变量。和这个类似。 变量名:VS100COMNTOOLS 变量值:C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC
这适用于我在运行 Python 3.4.3 64 位的 Windows 10 64 位上使用 VS120COMNTOOLS(适用于 VS 2013)而不是 2015 变量。
谢谢为我工作(Win 10 64bit with python 3.4 64 bit)。我成功安装了 Numpy 和 matplotlib
win10 64bit with python 3.4 32 bit,谢谢!
export VS100COMNTOOLS=$VS140COMNTOOLS 如果您使用 bash
C
Community

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”


Visual C++ 2010 Express 仅可免费使用 30 天。
30天后也是免费的;只要您注册;据我所知?
对我不起作用......即使我使用 whl :( [windows 7 64 bits - 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
给定的 VS2010 链接不再起作用
F
FavorMylikes

我遇到过两次这个问题。我第一次使用 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


谢谢#@FavorMylikes--这帮助我更接近安装,但现在我收到一个关于无法找到文件 c1.exe 的新错误,所以我也将它添加到 PATH,但这并没有解决问题.如果你对此有任何想法,我会欣喜若狂地听到他们
请确保您有任何版本的编译器,例如 2010 编译器。您可以在 landinghub.visualstudio.com/visual-cpp-build-tools 下载它们。安装后,您可以在路径中看到 VSxxxCOMNTOOLS
“找不到命令 SET”
P
Patrick

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 一切。


由于他们大力推动 Visual Studio 社区版,我遇到了同样的问题。我希望他们可能已经捆绑了旧的依赖项或其他东西,但我发现情况并非如此。也许这是win10发布的疏忽?感谢您找到该链接,它为我解决了依赖问题。
M
MasterAM

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

32 位 2.7 和 3.3/3.4 的构建都可用。当然,PyCharm 会立即检测到它们。


J
Jiang Donghua

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


p
psych0

尝试安装 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 享用


A
AliSh

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

enter image description here