关于windows:Python Pip安装错误:无法找到vcvarsall.bat。

Python Pip install Error: Unable to find vcvarsall.bat. Tried all solutions

本问题已经有最佳答案,请猛点这里访问。

我尝试使用安装scrapy for python 2.7.8(anaconda 2.1.0)32位

1
pip install scrapy

我得到了这个错误

1
 error: Microsoft Visual C++ 10.0 is required (Unable to find vcvarsall.bat).

我遵循了这些叠加流问题中的解决方案。没有效果。

Python 2.7的微软Visual C++编译程序

找不到vcvarsall.bat文件

错误:找不到vcvarsall.bat

在Windows7 64位上运行"pip install numpy"时,获取"错误:找不到vcvarsall.bat"

PIP安装出错:找不到vcvarsall.bat

如何将轻松安装指向vcvarsall.bat?

pip install mysql python返回找不到vcvarsall.bat

这是错误,它上面和下面有几行:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
copying src\lxml\isoschematron
esources\xsl\iso-schematron-xslt1
eadme.txt
-> build\lib.win32-3.4\lxml\isoschematron
esources\xsl\iso-schematron-xslt1

running build_ext

building 'lxml.etree' extension

C:\Python34\lib\distutils\dist.py:260: UserWarning: Unknown distribution opt
ion: 'bugtrack_url'

  warnings.warn(msg)

error: Microsoft Visual C++ 10.0 is required (Unable to find vcvarsall.bat).


----------------------------------------
Command"C:\Python34\python.exe -c"import setuptools, tokenize;__file__='C:
\\Users\\San\\AppData\\Local\\Temp\\pip-build-wp6ei6r9\\lxml\\setup.py'
;exec(com
pile(getattr(tokenize, 'open', open)(__file__).read().replace('

'
, '
'
), __f
ile__, 'exec'))" install --record C:\Users\San\AppData\Local\Temp\pip-kfkzr_67-r
ecord\install-record.txt --single-version-externally-managed --compile"
failed w
ith error code 1 in C:\Users\San\AppData\Local\Temp\pip-build-wp6ei6r9\lxml

我既有微软Visual Studio 12,也有Python 2.7的微软VisualC++编译器包,它们都有VCVas.Al.BAT文件。

我有一个名为"vs120comntools"的系统变量,它的路径设置为

1
C:\Program Files\Microsoft Visual Studio 12.0\Common7\Tools\

我还向环境变量添加了两条路径。我也试过先加一个,然后再加另一个。我的路看起来像这样

1
C:\Program Files\Java\jdk1.7.0_25\bin;\Python27;\Python2\python.exe;C:\Python27\Scripts\;C:\Users\San\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\;C:\Program Files\Microsoft Visual Studio 12.0\VC\;

我还更新了我的安装工具(我想版本8),它应该自动检测Python 2.7的微软Visual C++编译器。但是,我仍然得到同样的错误。

我也试过用

1
easy_install scrapy

我得到这个错误

1
error: Setup script exited with error: Microsoft Visual C++ 10.0 is required (Un

能够找到vvarsall.bat)。

我的登记处还有以下资料

1
2
HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\9.0\Setup\VC\ProductDir
HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\12.0\Setup\VC\ProductDir


我尝试了所有的建议,找到了自己的简单解决方案。

问题是在外部环境(如C中)中编写的代码需要编译器。寻找自己的vs环境,即vs 2008。

目前,我的机器与2012年相比运行,并面临Unable to find vcvarsall.bat。我研究了要安装的代码,以找到vs版本。那是2008年。我在系统变量VS90COMNTOOLS中添加了变量名,并给出了VS120COMNTOOLS的值。

您可以在下面找到我的逐步解决方案:

  • 右键单击"我的电脑"。
  • 单击属性
  • 高级系统设置
  • 环境变量
  • 添加新系统变量
  • 在变量名中输入vs90comntools
  • 输入新变量的当前版本值。
  • 关闭所有窗口
  • 现在开一个新的会期和pip install your-package


    在做了很多事情之后,我升级了pipsetuptoolsvirtualenv

  • python -m pip install -U pip
  • pip install -U setuptools
  • pip install -U virtualenv
  • 我在虚拟环境和全球范围内执行了步骤1、2。接下来,我通过pip安装了这个包,它工作了。


    尝试安装这个,它是一个已知的解决方案,用于为Python 2.7启用C++编译器。

    根据我的经验,当pip找不到vcvarsall.bat编译器时,我所做的就是打开一个Visual Studio控制台,因为它将路径变量设置为直接调用vcvarsall.bat,然后在此命令行上运行pip。


    我在python 3.4.3中也遇到了同样的错误,我尝试使用这里和其他地方提到的解决方案,但没有成功。

    微软为python 2.7提供了一个编译器,但由于我在3.4.3上,它对我的帮助不大。

    Python自3.3已经转换到2010,您可以在这里免费下载和安装VisualC++ 2010 Express:http://wwwVisualStudio.com /下载/下载VisualStudioVS Y-D2010Express

    以下是关于3.3向2010年过渡的官方博客文章:http://blog.python.org/2012/05/recent-windows-changes-in-python-33.html

    因为以前的版本对vcvarsall.bat给出了不同的错误,所以我会仔细检查您使用的"pip-v"版本。

    1
    2
    C:\Users\B>pip -V
    pip 6.0.8 from C:\Python34\lib\site-packages (python 3.4)

    另一方面,我也尝试先使用最新版本的VC++(2013),但它需要安装2010 Express。

    从这一点来看,它应该适用于使用32位版本的任何人,如果您使用的是64位版本,那么您将收到valueerror:''path']消息,因为VC++2010没有64位计算机。为此,您必须获得Microsoft SDK 7.1。我不能将指令超链接到64位,因为每个帖子只能有2个链接,但是它位于

    python pip在Windows7上安装64位的MS Visual Studio 2010 Express路径时出现问题


    在这里,我也可以用EDCOX1 0和EDCOX1的1来复制这个问题(两者都需要C++编译),即使我已经安装了Python 2.7的微软Visual C++编译器。

    必须指出的是,我使用的是virtualenv。从你的职位上看,我不确定你是否也这么做。

    无论如何,我尝试跳过虚拟环境的激活。然后,scrapypsycopg2都安装良好。

    我的假设是:Python和VielalEnv之间的2014个C++编译器之间存在冲突。我不知道为什么,也不知道如何解决(如果有人能提出解决方法,我会很高兴)。