I’m getting an error Could not find function xmlCheckVersion in library libxml2. Is libxml2 installed? when trying to install lxml through pip.
c:usersfappdatalocaltempxmlXPathInitqjzysz.c(1) : fatal error C1083: Cannot open include file: 'libxml/xpath.h': No such file or directory ********************************************************************************* Could not find function xmlCheckVersion in library libxml2. Is libxml2 installed? ********************************************************************************* error: command 'C:\Users\f\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\VC\Bin\cl.exe' failed with exit status 2
I don’t find any libxml2 dev packages to install via pip.
Using Python 2.7 and Python 3.x on x86 in a virtualenv under Windows 10.
Answers:
Thank you for visiting the Q&A section on Magenaut. Please note that all the answers may not help you solve the issue immediately. So please treat them as advisements. If you found the post helpful (or not), leave a comment & I’ll get back to you as soon as possible.
Method 1
I had this issue and realised that whilst I did have libxml2 installed, I didn’t have the necessary development libraries required by the python package. Installing them solved the problem:
sudo apt-get install libxml2-dev libxslt1-dev sudo pip install lxml
Method 2
Install lxml from http://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml for your python version. It’s a precompiled WHL with required modules/dependencies.
The site lists several packages, when e.g. using Win32 Python 3.9, use lxml‑4.5.2‑cp39‑cp39‑win32.whl.
Download the file, and then install with:
pip install C:pathtodownloadedfilelxml‑4.5.2‑cp39‑cp39‑win32.whl
Method 3
Try to use:
easy_install lxml
That works for me, win10, python 2.7.
Method 4
On Mac OS X El Capitan I had to run these two commands to fix this error:
xcode-select --install pip install lxml
Which ended up installing lxml-3.5.0
When you run the xcode-select command you may have to sign a EULA (so have an X-Term handy for the UI if you’re doing this on a headless machine).
Method 5
In case anyone else has the same issue as this on
Centos, try:
yum install python-lxml
Ubuntu
sudo apt-get install -y python-lxml
worked for me.
Method 6
set STATICBUILD=true && pip install lxml
run this command instead, must have VS C++ compiler installed first
https://blogs.msdn.microsoft.com/pythonengineering/2016/04/11/unable-to-find-vcvarsall-bat/
It works for me with Python 3.5.2 and Windows 7
Method 7
I tried install a lib that depends lxml and nothing works. I see a message when build was started: “Building without Cython”, so after install cython with apt-get install cython, lxml was installed.
Method 8
It is not strange for me that none of the solutions above came up, but I saw how the igd installation removed the new version and installed the old one, for the solution I downloaded this archive:https://pypi.org/project/igd/#files
and changed the recommended version of the new version: ‘lxml==4.3.0’ in setup.py
It works!
Method 9
I got the same error for python 32 bit. After install 64bit, the problem was fixed.
Method 10
I had this issue and realized that while I did have libxml2 installed, I didn’t have the necessary development libraries required by the python package.
1) Installing them solved the problem:
The site to download the file: Download
2) After Installing the file save it in a accessible folder
pip install *path to that file*
Method 11
I am using venv.
In my case it was enough to add lxml==4.6.3 to requirements.txt.
One library wanted earlier version and this was causing this error, so when I forced pip to use newest version (currently 4.6.3) installation was successful.
All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0