title: easy_install lxml on Python 2.7 on Windows
body: <p>I'm using python 2.7 on Windows. How come the following error occurs when I try to install [lxml][1] using [setuptools][2]'s easy_install?</p>
  
  <pre><code>C:\&gt;easy_install lxml
  Searching for lxml
  Reading http://pypi.python.org/simple/lxml/
  Reading http://codespeak.net/lxml
  Best match: lxml 2.3.3
  Downloading http://lxml.de/files/lxml-2.3.3.tgz
  Processing lxml-2.3.3.tgz
  Running lxml-2.3.3\setup.py -q bdist_egg --dist-dir c:\users\my_user\appdata\local\temp\easy_install-mtrdj2\lxml-2.3.3\egg-dist-tmp-tq8rx4
  Building lxml version 2.3.3.
  Building without Cython.
  ERROR: 'xslt-config' is not recognized as an internal or external command,
  operable program or batch file.
  
  ** make sure the development packages of libxml2 and libxslt are installed **
  
  Using build configuration of libxslt
  warning: no files found matching 'lxml.etree.c' under directory 'src\lxml'
  warning: no files found matching 'lxml.objectify.c' under directory 'src\lxml'
  warning: no files found matching 'lxml.etree.h' under directory 'src\lxml'
  warning: no files found matching 'lxml.etree_api.h' under directory 'src\lxml'
  warning: no files found matching 'etree_defs.h' under directory 'src\lxml'
  warning: no files found matching 'pubkey.asc' under directory 'doc'
  warning: no files found matching 'tagpython*.png' under directory 'doc'
  warning: no files found matching 'Makefile' under directory 'doc'
  error: Setup script exited with error: Unable to find vcvarsall.bat
  </code></pre>
  
  <p>Downloading the package and running <code>setup.py install</code> also doesn't help:</p>
  
  <pre><code>D:\My Documents\Installs\Dev\Python\lxml\lxml-2.3.3&gt;setup.py install
  Building lxml version 2.3.3.
  Building without Cython.
  ERROR: 'xslt-config' is not recognized as an internal or external command,
  operable program or batch file.
  
  ** make sure the development packages of libxml2 and libxslt are installed **
  
  Using build configuration of libxslt
  running install
  running bdist_egg
  running egg_info
  writing src\lxml.egg-info\PKG-INFO
  writing top-level names to src\lxml.egg-info\top_level.txt
  writing dependency_links to src\lxml.egg-info\dependency_links.txt
  reading manifest file 'src\lxml.egg-info\SOURCES.txt'
  reading manifest template 'MANIFEST.in'
  warning: no files found matching 'lxml.etree.c' under directory 'src\lxml'
  warning: no files found matching 'lxml.objectify.c' under directory 'src\lxml'
  warning: no files found matching 'lxml.etree.h' under directory 'src\lxml'
  warning: no files found matching 'lxml.etree_api.h' under directory 'src\lxml'
  warning: no files found matching 'etree_defs.h' under directory 'src\lxml'
  warning: no files found matching 'pubkey.asc' under directory 'doc'
  warning: no files found matching 'tagpython*.png' under directory 'doc'
  warning: no files found matching 'Makefile' under directory 'doc'
  writing manifest file 'src\lxml.egg-info\SOURCES.txt'
  installing library code to build\bdist.win32\egg
  running install_lib
  running build_py
  creating build
  creating build\lib.win32-2.7
  creating build\lib.win32-2.7\lxml
  copying src\lxml\builder.py -&gt; build\lib.win32-2.7\lxml
  copying src\lxml\cssselect.py -&gt; build\lib.win32-2.7\lxml
  copying src\lxml\doctestcompare.py -&gt; build\lib.win32-2.7\lxml
  copying src\lxml\ElementInclude.py -&gt; build\lib.win32-2.7\lxml
  copying src\lxml\pyclasslookup.py -&gt; build\lib.win32-2.7\lxml
  copying src\lxml\sax.py -&gt; build\lib.win32-2.7\lxml
  copying src\lxml\usedoctest.py -&gt; build\lib.win32-2.7\lxml
  copying src\lxml\_elementpath.py -&gt; build\lib.win32-2.7\lxml
  copying src\lxml\__init__.py -&gt; build\lib.win32-2.7\lxml
  creating build\lib.win32-2.7\lxml\html
  copying src\lxml\html\builder.py -&gt; build\lib.win32-2.7\lxml\html
  copying src\lxml\html\clean.py -&gt; build\lib.win32-2.7\lxml\html
  copying src\lxml\html\defs.py -&gt; build\lib.win32-2.7\lxml\html
  copying src\lxml\html\diff.py -&gt; build\lib.win32-2.7\lxml\html
  copying src\lxml\html\ElementSoup.py -&gt; build\lib.win32-2.7\lxml\html
  copying src\lxml\html\formfill.py -&gt; build\lib.win32-2.7\lxml\html
  copying src\lxml\html\html5parser.py -&gt; build\lib.win32-2.7\lxml\html
  copying src\lxml\html\soupparser.py -&gt; build\lib.win32-2.7\lxml\html
  copying src\lxml\html\usedoctest.py -&gt; build\lib.win32-2.7\lxml\html
  copying src\lxml\html\_dictmixin.py -&gt; build\lib.win32-2.7\lxml\html
  copying src\lxml\html\_diffcommand.py -&gt; build\lib.win32-2.7\lxml\html
  copying src\lxml\html\_html5builder.py -&gt; build\lib.win32-2.7\lxml\html
  copying src\lxml\html\_setmixin.py -&gt; build\lib.win32-2.7\lxml\html
  copying src\lxml\html\__init__.py -&gt; build\lib.win32-2.7\lxml\html
  creating build\lib.win32-2.7\lxml\isoschematron
  copying src\lxml\isoschematron\__init__.py -&gt; build\lib.win32-2.7\lxml\isoschematron
  copying src\lxml\etreepublic.pxd -&gt; build\lib.win32-2.7\lxml
  copying src\lxml\tree.pxd -&gt; build\lib.win32-2.7\lxml
  copying src\lxml\etree_defs.h -&gt; build\lib.win32-2.7\lxml
  creating build\lib.win32-2.7\lxml\isoschematron\resources
  creating build\lib.win32-2.7\lxml\isoschematron\resources\rng
  copying src\lxml\isoschematron\resources\rng\iso-schematron.rng -&gt; build\lib.win32-2.7\lxml\isoschematron\resources\rng
  creating build\lib.win32-2.7\lxml\isoschematron\resources\xsl
  copying src\lxml\isoschematron\resources\xsl\RNG2Schtrn.xsl -&gt; build\lib.win32-2.7\lxml\isoschematron\resources\xsl
  copying src\lxml\isoschematron\resources\xsl\XSD2Schtrn.xsl -&gt; build\lib.win32-2.7\lxml\isoschematron\resources\xsl
  creating build\lib.win32-2.7\lxml\isoschematron\resources\xsl\iso-schematron-xslt1
  copying src\lxml\isoschematron\resources\xsl\iso-schematron-xslt1\iso_abstract_expand.xsl -&gt; build\lib.win32-2.7\lxml\isoschematron\resources\xsl\iso-schematron-xslt1
  copying src\lxml\isoschematron\resources\xsl\iso-schematron-xslt1\iso_dsdl_include.xsl -&gt; build\lib.win32-2.7\lxml\isoschematron\resources\xsl\iso-schematron-xslt1
  copying src\lxml\isoschematron\resources\xsl\iso-schematron-xslt1\iso_schematron_message.xsl -&gt; build\lib.win32-2.7\lxml\isoschematron\resources\xsl\iso-schematron-xslt1
  copying src\lxml\isoschematron\resources\xsl\iso-schematron-xslt1\iso_schematron_skeleton_for_xslt1.xsl -&gt; build\lib.win32-2.7\lxml\isoschematron\resources\xsl\iso-schematron-xslt1
  copying src\lxml\isoschematron\resources\xsl\iso-schematron-xslt1\iso_svrl_for_xslt1.xsl -&gt; build\lib.win32-2.7\lxml\isoschematron\resources\xsl\iso-schematron-xslt1
  copying src\lxml\isoschematron\resources\xsl\iso-schematron-xslt1\readme.txt -&gt; build\lib.win32-2.7\lxml\isoschematron\resources\xsl\iso-schematron-xslt1
  running build_ext
  building 'lxml.etree' extension
  error: Unable to find vcvarsall.bat
  
    [1]: http://lxml.de/
    [2]: http://pypi.python.org/pypi/setuptools
  </code></pre>