Each Answer to this Q is separated by one/two green lines.
I tried to install Scrapy for Python 2.7.8 (anaconda 2.1.0) 32-bit using
pip install scrapy
And I got this error
error: Microsoft Visual C++ 10.0 is required (Unable to find vcvarsall.bat).
I have followed the solutions found in these stackover flow questions. Nothing worked.
This is the error, and a few lines above and below it:
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
I have both Microsoft Visual Studio 12.0, and Microsoft visual C++ compiler package for Python 2.7, both of which have the vcvarsall.bat file.
I have a system variable that is called ‘VS120COMNTOOLS’ and is its path is set to
C:\Program Files\Microsoft Visual Studio 12.0\Common7\Tools\
I also added both paths to my environment variables. I’ve also tried just adding one, and then the other. My Path looks like this
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\;
I also updated by my setup tools (I think to version 8), which should autodetect Microsoft Visual C++ Compiler for Python 2.7. However, I’m still getting the same error.
I have also tried using
And I get this error
error: Setup script exited with error: Microsoft Visual C++ 10.0 is required (Un
able to find vcvarsall.bat).
I also have the following in my registry
I have tried all suggestions and found my own simple solution.
The problem is that codes written in external environment like
C need compiler. Look for its own VS environment, i.e. VS 2008.
Currently my machine runs VS 2012 and faces
Unable to find vcvarsall.bat.
I studied codes that i want to install to find the VS version. It was VS 2008. i have add to system variable
VS90COMNTOOLS as variable name and gave the value of
You can find my step by step solution below:
- Right click on My Computer.
- Click Properties
- Advanced system settings
- Environment variables
- Add New system variable
- Enter VS90COMNTOOLS to the variable name
- Enter the value of current version to the new variable.
- Close all windows
Now open a new session and
pip install your-package
After doing a lot of things, I upgraded
python -m pip install -U pip
pip install -U setuptools
pip install -U virtualenv
I did steps 1, 2 in my virtual environment as well as globally.
Next, I installed the package through
pip and it worked.
Try installing this, it’s a known workaround for enabling the C++ compiler for Python 2.7.
In my experience, when pip does not find vcvarsall.bat compiler, all I do is opening a Visual Studio console as it set the path variables to call vcvarsall.bat directly and then I run pip on this command line.
I was getting the same error in python 3.4.3 too and I tried using the solutions mentioned here and elsewhere with no success.
Microsoft makes a compiler available for Python 2.7 but it didn’t do me much good since I am on 3.4.3.
Python since 3.3 has transitioned over to 2010 and you can download and install Visual C++ 2010 Express for free here: https://www.visualstudio.com/downloads/download-visual-studio-vs#d-2010-express
Here is the official blog post talking about the transition to 2010 for 3.3: http://blog.python.org/2012/05/recent-windows-changes-in-python-33.html
Because previous versions gave a different error for vcvarsall.bat I would double check the version you are using with “pip -V”
C:\Users\B>pip -V pip 6.0.8 from C:\Python34\lib\site-packages (python 3.4)
As a side note, I too tried using the latest version of VC++ (2013) first but it required installing 2010 express.
From that point forward it should work for anyone using the 32 bit version, if you are on the 64 bit version you will then get the ValueError: [‘path’] message because VC++ 2010 doesn’t have a 64 bit compuler. For that you have to get the Microsoft SDK 7.1. I can’t hyperlink the instruction for 64 bit because I am limited to 2 links per post but its at
Here too I can reproduce this problem with
psycopg2 (both require C++ compiling), even though I have Microsoft Visual C++ Compiler for Python 2.7 installed.
It has to be noted that I use
virtualenv. From your post I’m not sure whether you do the same.
Anyway I tried to skip the activation of the virtual environment. Then both
psycopg2 installed fine.
My hypothesis: there is a conflict between this 2014 C++ compiler for Python and virtualenv.
I do not know why nor how to solve it (and I’d be glad if someone can suggest a workaround).