Python: error when installing lxml on OS X
Question: For whatever I'm installing with pip, I got this:

    
    
    Command /usr/bin/python -c "import setuptools, tokenize;__file__='/private/var/folders/kn/mmhj7w0n54s4b2jr08sx46kr0000gn/T/pip_build_youweizhu/lxml/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /var/folders/kn/mmhj7w0n54s4b2jr08sx46kr0000gn/T/pip-0wnEw6-record/install-record.txt --single-version-externally-managed --compile failed with error code 1 in /private/var/folders/kn/mmhj7w0n54s4b2jr08sx46kr0000gn/T/pip_build_youweizhu/lxml
    Storing debug log for failure in /Users/youweizhu/Library/Logs/pip.log
    

For example:

    
    
    $ pip install lxml
    

I got

    
    
    Downloading/unpacking lxml
      Downloading lxml-3.4.1.tar.gz (3.5MB): 3.5MB downloaded
      Running setup.py (path:/private/var/folders/kn/mmhj7w0n54s4b2jr08sx46kr0000gn/T/pip_build_youweizhu/lxml/setup.py) egg_info for package lxml
        /System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'bugtrack_url'
          warnings.warn(msg)
        Building lxml version 3.4.1.
        Building without Cython.
        Using build configuration of libxslt 1.1.28
    
        warning: no previously-included files found matching '*.py'
    Installing collected packages: lxml
      Running setup.py install for lxml
        /System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'bugtrack_url'
          warnings.warn(msg)
        Building lxml version 3.4.1.
        Building without Cython.
        Using build configuration of libxslt 1.1.28
        building 'lxml.etree' extension
        cc -fno-strict-aliasing -fno-common -dynamic -arch x86_64 -arch i386 -g -Os -pipe -fno-common -fno-strict-aliasing -fwrapv -DENABLE_DTRACE -DMACOSX -DNDEBUG -Wall -Wstrict-prototypes -Wshorten-64-to-32 -DNDEBUG -g -fwrapv -Os -Wall -Wstrict-prototypes -DENABLE_DTRACE -arch x86_64 -arch i386 -pipe -I/usr/include/libxml2 -I/private/var/folders/kn/mmhj7w0n54s4b2jr08sx46kr0000gn/T/pip_build_youweizhu/lxml/src/lxml/includes -I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c src/lxml/lxml.etree.c -o build/temp.macosx-10.9-intel-2.7/src/lxml/lxml.etree.o -w -flat_namespace
        In file included from src/lxml/lxml.etree.c:239:
        /private/var/folders/kn/mmhj7w0n54s4b2jr08sx46kr0000gn/T/pip_build_youweizhu/lxml/src/lxml/includes/etree_defs.h:14:10: fatal error: 'libxml/xmlversion.h' file not found
        #include "libxml/xmlversion.h"
                 ^
        1 error generated.
        error: command 'cc' failed with exit status 1
        Complete output from command /usr/bin/python -c "import setuptools, tokenize;__file__='/private/var/folders/kn/mmhj7w0n54s4b2jr08sx46kr0000gn/T/pip_build_youweizhu/lxml/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /var/folders/kn/mmhj7w0n54s4b2jr08sx46kr0000gn/T/pip-0wnEw6-record/install-record.txt --single-version-externally-managed --compile:
        /System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'bugtrack_url'
    
      warnings.warn(msg)
    
    Building lxml version 3.4.1.
    
    Building without Cython.
    
    Using build configuration of libxslt 1.1.28
    
    running install
    
    running build
    
    running build_py
    
    creating build
    
    creating build/lib.macosx-10.9-intel-2.7
    
    creating build/lib.macosx-10.9-intel-2.7/lxml
    
    copying src/lxml/__init__.py -> build/lib.macosx-10.9-intel-2.7/lxml
    
    copying src/lxml/_elementpath.py -> build/lib.macosx-10.9-intel-2.7/lxml
    
    copying src/lxml/builder.py -> build/lib.macosx-10.9-intel-2.7/lxml
    
    copying src/lxml/cssselect.py -> build/lib.macosx-10.9-intel-2.7/lxml
    
    copying src/lxml/doctestcompare.py -> build/lib.macosx-10.9-intel-2.7/lxml
    
    copying src/lxml/ElementInclude.py -> build/lib.macosx-10.9-intel-2.7/lxml
    
    copying src/lxml/pyclasslookup.py -> build/lib.macosx-10.9-intel-2.7/lxml
    
    copying src/lxml/sax.py -> build/lib.macosx-10.9-intel-2.7/lxml
    
    copying src/lxml/usedoctest.py -> build/lib.macosx-10.9-intel-2.7/lxml
    
    creating build/lib.macosx-10.9-intel-2.7/lxml/includes
    
    copying src/lxml/includes/__init__.py -> build/lib.macosx-10.9-intel-2.7/lxml/includes
    
    creating build/lib.macosx-10.9-intel-2.7/lxml/html
    
    copying src/lxml/html/__init__.py -> build/lib.macosx-10.9-intel-2.7/lxml/html
    
    copying src/lxml/html/_diffcommand.py -> build/lib.macosx-10.9-intel-2.7/lxml/html
    
    copying src/lxml/html/_html5builder.py -> build/lib.macosx-10.9-intel-2.7/lxml/html
    
    copying src/lxml/html/_setmixin.py -> build/lib.macosx-10.9-intel-2.7/lxml/html
    
    copying src/lxml/html/builder.py -> build/lib.macosx-10.9-intel-2.7/lxml/html
    
    copying src/lxml/html/clean.py -> build/lib.macosx-10.9-intel-2.7/lxml/html
    
    copying src/lxml/html/defs.py -> build/lib.macosx-10.9-intel-2.7/lxml/html
    
    copying src/lxml/html/diff.py -> build/lib.macosx-10.9-intel-2.7/lxml/html
    
    copying src/lxml/html/ElementSoup.py -> build/lib.macosx-10.9-intel-2.7/lxml/html
    
    copying src/lxml/html/formfill.py -> build/lib.macosx-10.9-intel-2.7/lxml/html
    
    copying src/lxml/html/html5parser.py -> build/lib.macosx-10.9-intel-2.7/lxml/html
    
    copying src/lxml/html/soupparser.py -> build/lib.macosx-10.9-intel-2.7/lxml/html
    
    copying src/lxml/html/usedoctest.py -> build/lib.macosx-10.9-intel-2.7/lxml/html
    
    creating build/lib.macosx-10.9-intel-2.7/lxml/isoschematron
    
    copying src/lxml/isoschematron/__init__.py -> build/lib.macosx-10.9-intel-2.7/lxml/isoschematron
    
    copying src/lxml/lxml.etree.h -> build/lib.macosx-10.9-intel-2.7/lxml
    
    copying src/lxml/lxml.etree_api.h -> build/lib.macosx-10.9-intel-2.7/lxml
    
    copying src/lxml/includes/c14n.pxd -> build/lib.macosx-10.9-intel-2.7/lxml/includes
    
    copying src/lxml/includes/config.pxd -> build/lib.macosx-10.9-intel-2.7/lxml/includes
    
    copying src/lxml/includes/dtdvalid.pxd -> build/lib.macosx-10.9-intel-2.7/lxml/includes
    
    copying src/lxml/includes/etreepublic.pxd -> build/lib.macosx-10.9-intel-2.7/lxml/includes
    
    copying src/lxml/includes/htmlparser.pxd -> build/lib.macosx-10.9-intel-2.7/lxml/includes
    
    copying src/lxml/includes/relaxng.pxd -> build/lib.macosx-10.9-intel-2.7/lxml/includes
    
    copying src/lxml/includes/schematron.pxd -> build/lib.macosx-10.9-intel-2.7/lxml/includes
    
    copying src/lxml/includes/tree.pxd -> build/lib.macosx-10.9-intel-2.7/lxml/includes
    
    copying src/lxml/includes/uri.pxd -> build/lib.macosx-10.9-intel-2.7/lxml/includes
    
    copying src/lxml/includes/xinclude.pxd -> build/lib.macosx-10.9-intel-2.7/lxml/includes
    
    copying src/lxml/includes/xmlerror.pxd -> build/lib.macosx-10.9-intel-2.7/lxml/includes
    
    copying src/lxml/includes/xmlparser.pxd -> build/lib.macosx-10.9-intel-2.7/lxml/includes
    
    copying src/lxml/includes/xmlschema.pxd -> build/lib.macosx-10.9-intel-2.7/lxml/includes
    
    copying src/lxml/includes/xpath.pxd -> build/lib.macosx-10.9-intel-2.7/lxml/includes
    
    copying src/lxml/includes/xslt.pxd -> build/lib.macosx-10.9-intel-2.7/lxml/includes
    
    copying src/lxml/includes/etree_defs.h -> build/lib.macosx-10.9-intel-2.7/lxml/includes
    
    copying src/lxml/includes/lxml-version.h -> build/lib.macosx-10.9-intel-2.7/lxml/includes
    
    creating build/lib.macosx-10.9-intel-2.7/lxml/isoschematron/resources
    
    creating build/lib.macosx-10.9-intel-2.7/lxml/isoschematron/resources/rng
    
    copying src/lxml/isoschematron/resources/rng/iso-schematron.rng -> build/lib.macosx-10.9-intel-2.7/lxml/isoschematron/resources/rng
    
    creating build/lib.macosx-10.9-intel-2.7/lxml/isoschematron/resources/xsl
    
    copying src/lxml/isoschematron/resources/xsl/RNG2Schtrn.xsl -> build/lib.macosx-10.9-intel-2.7/lxml/isoschematron/resources/xsl
    
    copying src/lxml/isoschematron/resources/xsl/XSD2Schtrn.xsl -> build/lib.macosx-10.9-intel-2.7/lxml/isoschematron/resources/xsl
    
    creating build/lib.macosx-10.9-intel-2.7/lxml/isoschematron/resources/xsl/iso-schematron-xslt1
    
    copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_abstract_expand.xsl -> build/lib.macosx-10.9-intel-2.7/lxml/isoschematron/resources/xsl/iso-schematron-xslt1
    
    copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_dsdl_include.xsl -> build/lib.macosx-10.9-intel-2.7/lxml/isoschematron/resources/xsl/iso-schematron-xslt1
    
    copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/iso_schematron_message.xsl -> build/lib.macosx-10.9-intel-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.macosx-10.9-intel-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.macosx-10.9-intel-2.7/lxml/isoschematron/resources/xsl/iso-schematron-xslt1
    
    copying src/lxml/isoschematron/resources/xsl/iso-schematron-xslt1/readme.txt -> build/lib.macosx-10.9-intel-2.7/lxml/isoschematron/resources/xsl/iso-schematron-xslt1
    
    running build_ext
    
    building 'lxml.etree' extension
    
    creating build/temp.macosx-10.9-intel-2.7
    
    creating build/temp.macosx-10.9-intel-2.7/src
    
    creating build/temp.macosx-10.9-intel-2.7/src/lxml
    
    cc -fno-strict-aliasing -fno-common -dynamic -arch x86_64 -arch i386 -g -Os -pipe -fno-common -fno-strict-aliasing -fwrapv -DENABLE_DTRACE -DMACOSX -DNDEBUG -Wall -Wstrict-prototypes -Wshorten-64-to-32 -DNDEBUG -g -fwrapv -Os -Wall -Wstrict-prototypes -DENABLE_DTRACE -arch x86_64 -arch i386 -pipe -I/usr/include/libxml2 -I/private/var/folders/kn/mmhj7w0n54s4b2jr08sx46kr0000gn/T/pip_build_youweizhu/lxml/src/lxml/includes -I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c src/lxml/lxml.etree.c -o build/temp.macosx-10.9-intel-2.7/src/lxml/lxml.etree.o -w -flat_namespace
    
    In file included from src/lxml/lxml.etree.c:239:
    
    /private/var/folders/kn/mmhj7w0n54s4b2jr08sx46kr0000gn/T/pip_build_youweizhu/lxml/src/lxml/includes/etree_defs.h:14:10: fatal error: 'libxml/xmlversion.h' file not found
    
    #include "libxml/xmlversion.h"
    
             ^
    
    1 error generated.
    
    error: command 'cc' failed with exit status 1
    
    ----------------------------------------
    Cleaning up...
    Command /usr/bin/python -c "import setuptools, tokenize;__file__='/private/var/folders/kn/mmhj7w0n54s4b2jr08sx46kr0000gn/T/pip_build_youweizhu/lxml/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /var/folders/kn/mmhj7w0n54s4b2jr08sx46kr0000gn/T/pip-0wnEw6-record/install-record.txt --single-version-externally-managed --compile failed with error code 1 in /private/var/folders/kn/mmhj7w0n54s4b2jr08sx46kr0000gn/T/pip_build_youweizhu/lxml
    Storing debug log for failure in /Users/youweizhu/Library/Logs/pip.log
    

I'm crying...


Answer: Andre Augusto pointed out

> If you want to use lxml together with the official libxml2 Python bindings
> (maybe because one of your dependencies uses it), you must build lxml
> statically. Otherwise, the two packages will interfere in places where the
> libxml2 library requires global configuration, which can have any kind of
> effect from disappearing functionality to crashes in either of the two.
>
> To get a static build, either pass the --static-deps option to the setup.py
> script, or run pip with the STATIC_DEPS or STATICBUILD environment variable
> set to true, i.e.
>
> STATIC_DEPS=true pip install lxml
>
> The STATICBUILD environment variable is handled equivalently to the
> STATIC_DEPS variable, but is used by some other extension packages, too.

from the lxml docs here.. <http://lxml.de/installation.html#using-lxml-with-
python-libxml2>

his original post is here: [Cannot install Lxml on Mac os x
10.9](http://stackoverflow.com/questions/19548011/cannot-install-lxml-on-mac-
os-x-10-9) There's some other ios related fixes there as well.

