2012-02-26 25 views
25

Sto usando python 2.7 su Windows. Come mai si verifica il seguente errore quando provo ad installare [lxml] [1] usando [setuptools] [2] con easy_install?easy_install lxml su Python 2.7 su Windows

C:\>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 

Scaricando il pacchetto e l'esecuzione setup.py install anche non aiuta:

D:\My Documents\Installs\Dev\Python\lxml\lxml-2.3.3>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 -> build\lib.win32-2.7\lxml 
copying src\lxml\cssselect.py -> build\lib.win32-2.7\lxml 
copying src\lxml\doctestcompare.py -> build\lib.win32-2.7\lxml 
copying src\lxml\ElementInclude.py -> build\lib.win32-2.7\lxml 
copying src\lxml\pyclasslookup.py -> build\lib.win32-2.7\lxml 
copying src\lxml\sax.py -> build\lib.win32-2.7\lxml 
copying src\lxml\usedoctest.py -> build\lib.win32-2.7\lxml 
copying src\lxml\_elementpath.py -> build\lib.win32-2.7\lxml 
copying src\lxml\__init__.py -> build\lib.win32-2.7\lxml 
creating build\lib.win32-2.7\lxml\html 
copying src\lxml\html\builder.py -> build\lib.win32-2.7\lxml\html 
copying src\lxml\html\clean.py -> build\lib.win32-2.7\lxml\html 
copying src\lxml\html\defs.py -> build\lib.win32-2.7\lxml\html 
copying src\lxml\html\diff.py -> build\lib.win32-2.7\lxml\html 
copying src\lxml\html\ElementSoup.py -> build\lib.win32-2.7\lxml\html 
copying src\lxml\html\formfill.py -> build\lib.win32-2.7\lxml\html 
copying src\lxml\html\html5parser.py -> build\lib.win32-2.7\lxml\html 
copying src\lxml\html\soupparser.py -> build\lib.win32-2.7\lxml\html 
copying src\lxml\html\usedoctest.py -> build\lib.win32-2.7\lxml\html 
copying src\lxml\html\_dictmixin.py -> build\lib.win32-2.7\lxml\html 
copying src\lxml\html\_diffcommand.py -> build\lib.win32-2.7\lxml\html 
copying src\lxml\html\_html5builder.py -> build\lib.win32-2.7\lxml\html 
copying src\lxml\html\_setmixin.py -> build\lib.win32-2.7\lxml\html 
copying src\lxml\html\__init__.py -> build\lib.win32-2.7\lxml\html 
creating build\lib.win32-2.7\lxml\isoschematron 
copying src\lxml\isoschematron\__init__.py -> build\lib.win32-2.7\lxml\isoschematron 
copying src\lxml\etreepublic.pxd -> build\lib.win32-2.7\lxml 
copying src\lxml\tree.pxd -> build\lib.win32-2.7\lxml 
copying src\lxml\etree_defs.h -> 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 -> 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 -> build\lib.win32-2.7\lxml\isoschematron\resources\xsl 
copying src\lxml\isoschematron\resources\xsl\XSD2Schtrn.xsl -> 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 -> 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 -> 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 -> 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 -> 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 -> build\lib.win32-2.7\lxml\isoschematron\resources\xsl\iso-schematron-xslt1 
copying src\lxml\isoschematron\resources\xsl\iso-schematron-xslt1\readme.txt -> 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 
+0

provare a eseguire dal prompt di Visual Studio –

+1

Sono stato in grado di scaricare un programma di installazione da [qui] (http://www.lfd.uci.edu/~gohlke/pythonlibs/) che ha funzionato, tuttavia mi piacerebbe comunque per sapere perché il metodo normale non ha funzionato ... – Jonathan

+0

Hai un compilatore C? – reclosedev

risposta

45

lxml> = 3.xx

  1. scaricare uno dei pacchetti di MS Windows Installer
  2. easy_install "c:/lxml_installer.exe"(credit kobejohn)

MS Windows Installer downloads available for lxml 3.3.5

un list of all binary/egg lxml package downloads.


lxml 2.3.x

non ci sono finestre uovo binario per lxml 2.3.3 (2.3.0 è l'ultima da 2.x.x).
senza fornire un numero di versione easy_install scaricherà le origini più recenti,
ma non si hanno libxml2 e libxslt installati.

è possibile installare le librerie mancanti o si potrebbe provare il 2.3 come ci sono le uova binari per Windows:
easy_install lxml==2.3

+1

[pypi.python.org lista dei pacchetti lxml] (https://pypi.python.org/packages/2.7/l/lxml/) –

+0

Ho fallito l'installazione di lxml 2.3.3 in un virtualenv –

+0

Questa installazione in conda mi ha ucciso negli ultimi tre giorni ! Questa è la soluzione che alla fine ha funzionato per me. – RYS

25

è possibile scaricare non ufficiali di Windows binari a: http://www.lfd.uci.edu/~gohlke/pythonlibs/

esempio per python 2.7 32 bit: http://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml

È il modo più semplice in win32.

+5

Non funzionerà direttamente per virtualenv. Quindi usa easy_install dal tuo virtualenv con il programma di installazione binario scaricato per farlo funzionare. cioè 'easy_install" c: /lxml_installer.exe "' (modifica Odio doverlo fare con Windows, ma è il modo più semplice che ho trovato. Funzionerà anche dall'URL, ma non c'era un file diretto link per i binari nella pagina in questa risposta) – KobeJohn

10

Mi sono imbattuto nello stesso problema. Non so in merito alla questione vcvarsall.bat, ma se si desidera solo installare lxml è possibile utilizzare l'installer grafici qui:

https://pypi.python.org/pypi/lxml/3.2.3

che ha lavorato per me.

1

La soluzione ideale (che funziona anche all'interno di ambienti virtuali) è stata fornita here.

In sostanza, si tratta di download di un file ruota di raccordo da here (il "CP" nel nome del file si distingue per la versione Python) e poi semplicemente pip install ing esso.

Funziona sulla mia installazione (virtualenv) di Python3.3 su Windows 7 64-bit.

+0

Sì, questa è l'unica cosa che funziona per me. Perfezionare! – Pztar

Problemi correlati