我尝试使用
安装32位的Scrapy for Python 2.7.8(anaconda 2.1.0)pip install scrapy
我收到了这个错误
error: Microsoft Visual C++ 10.0 is required (Unable to find vcvarsall.bat).
我已经按照这些stackover flow问题中的解决方案进行了操作。没有任何效果。
Microsoft Visual C++ Compiler for Python 2.7
error: Unable to find vcvarsall.bat
Getting "error: Unable to find vcvarsall.bat" when running "pip install numpy" on windows7 64bit
pip install gives error: Unable to find vcvarsall.bat
How do I point easy_install to vcvarsall.bat?
pip install MySQL-python returns unable to find vcvarsall.bat
这是错误,上面和下面有几行:
copying src\lxml\isoschematron\resources\xsl\iso-schematron-xslt1\readme.txt
-> build\lib.win32-3.4\lxml\isoschematron\resources\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('\r\n', '\n'), __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
我有Microsoft Visual Studio 12.0和Python 2.7的Microsoft Visual C ++编译器包,两者都有vcvarsall.bat文件。
我有一个名为'VS120COMNTOOLS'的系统变量,其路径设置为
C:\Program Files\Microsoft Visual Studio 12.0\Common7\Tools\
我还为环境变量添加了两个路径。我也尝试过添加一个,然后另一个。我的路径看起来像这样
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的Microsoft Visual C ++编译器。但是,我仍然遇到同样的错误。
我也尝试过使用
easy_install scrapy
我收到此错误
error: Setup script exited with error: Microsoft Visual C++ 10.0 is required (Un
能够找到vcvarsall.bat)。
我的注册表中还有以下内容
HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\9.0\Setup\VC\ProductDir
HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\12.0\Setup\VC\ProductDir
答案 0 :(得分:51)
在做了很多事情之后,我升级了pip
,setuptools
和virtualenv
。
python -m pip install -U pip
pip install -U setuptools
pip install -U virtualenv
我在虚拟环境和全局中执行了第1,2步。
接下来,我通过pip
安装了软件包,但它运行良好。
答案 1 :(得分:51)
我已经尝试了所有建议并找到了我自己的简单解决方案。
问题是在C
等外部环境中编写的代码需要编译器。寻找自己的VS环境,即VS 2008。
目前,我的机器运行VS 2012并面向Unable to find vcvarsall.bat
。
我研究了我想安装的代码以找到VS版本。这是VS 2008.我已将系统变量VS90COMNTOOLS
添加为变量名称,并赋予VS120COMNTOOLS
的值。
您可以在下面找到我的分步解决方案:
现在打开一个新会话并pip install your-package
答案 2 :(得分:30)
尝试安装this,这是为Python 2.7启用C ++编译器的已知解决方法。
根据我的经验,当pip找不到vcvarsall.bat编译器时,我所做的只是打开一个Visual Studio控制台,因为它设置路径变量直接调用vcvarsall.bat然后我在这个命令行上运行pip。
答案 3 :(得分:3)
我在python 3.4.3中也遇到了同样的错误,我尝试使用此处和其他地方提到的解决方案但没有成功。
Microsoft为Python 2.7提供了一个编译器,但是因为我在3.4.3上,所以它并没有给我带来太多好处。
自3.3以来Python已经过渡到2010年,你可以在这里免费下载和安装Visual C ++ 2010 Express:https://www.visualstudio.com/downloads/download-visual-studio-vs#d-2010-express
以下是官方博客文章,内容是关于过渡到2010年的3.3:http://blog.python.org/2012/05/recent-windows-changes-in-python-33.html
因为之前的版本为vcvarsall.bat提供了不同的错误,我会仔细检查您使用的版本" pip -V"
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不会#39 ;有一个64位的计算器。为此,您必须获得Microsoft SDK 7.1。我无法将64位指令超链接,因为每个帖子限制为2个链接,但是
Python PIP has issues with path for MS Visual Studio 2010 Express for 64-bit install on Windows 7
答案 4 :(得分:1)
我也可以使用scrapy
和psycopg2
(都需要C ++编译)重现此问题,即使我安装了Microsoft Visual C++ Compiler for Python 2.7。
必须注意的是,我使用virtualenv
。从你的帖子我不确定你是否也这样做。
无论如何,我试图跳过虚拟环境的激活。然后,scrapy
和psycopg2
都安装得很好。
我的假设:这个用于Python的2014 C ++编译器和virtualenv之间存在冲突。 我不知道为什么以及如何解决它(如果有人能提出解决方法,我会很高兴。)