How to install lxml in Python 3.4 on Windows machine

10,240

As said at the lxml homepage, it happened to you:

If you fail to build lxml on your MS Windows system from the signed and tested sources that we release, consider using the binary builds from PyPI or the unofficial Windows binaries that Christoph Gohlke generously provides.

So you have to download the right wheel file from Unofficial Windows Binaries for Python Extension Packages.

Step 1: Download appropriate version

Depending on your machine you have to download the wheel file lxml‑3.4.4‑cp34‑none‑win32.whl or lxml‑3.4.4‑cp34‑none‑win_amd64.whl, because you want the version for Python3.4 (that's the 34 in cp34).

Step 2: Open cmd and navigate to the download folder

I have chosen to open the cmd in administrator mode. But this is probably not necessary for you.

Step 3: Install wheel file with pip

Now you have to install the unofficial wheel file with pip. Maybe you can do pip install pip --upgrade before you install the wheel file. But this is probably also not necessary for you. To do the installation, just type pip install <downloaded_file>.

Or as cgohlke mentioned in his comment to your question: If you can't do pip install in cmd directly, this is what you can try: C:\Python34\python.exe -m pip install <downloaded_file>. You have to edit the path if Python3.4 is installed elsewhere, of course.

Don't panic. If you try to install the wrong downloaded file (e. g. win32 instead of amd64), it shouldn't break anything. An error message should occur: <package name> is not a supported wheel on this platform.

Share:
10,240
skeitel
Author by

skeitel

Updated on June 29, 2022

Comments

  • skeitel
    skeitel almost 2 years

    I've been spending hours on this. I'm new to Python and can't see what the solution may be.

    I have Python 3.4 and want to work with .docx, which requires lxml.

    The workflow I've done so far is: I go to the Python lxml package installer page, but it's quite confusing to know which version I need. I tried with several of them that contained the 34 numbers, both .exe and .tar. I also tried pip install lxml3.4.4 and pip install lxml 3.4.4. None of them worked either.

    This is what the command prompt says when I did pip install lxml (it automatically grabs the lxml 3.4.4 I've downloaded and then prints what you can see in the screenshot):

    screenshot of problem. what command prompt returns

    What am I doing wrong and what can I do to repair it? And/or what exact version of lxml do I need to install from where? I am really discouraged that this is so difficult. Thanks