Import lxml does not work on OSX after (apparently) successful installation

I am trying to install lxml for python on OS X 10.6.8

I ran sudo env ARCHFLAGS="-arch i386 -arch x86_64" easy_install lxml in the terminal based on this answer to the question about installing lxml: https://stackoverflow.com/a/166269/

This was the result of this command:

 MYCOMPUTER:~ MYUSERNAME$ sudo env ARCHFLAGS="-arch i386 -arch x86_64" easy_install lxml Password: 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 /tmp/easy_install-ytPLAc/lxml-2.3.3/egg-dist-tmp-NgYLdF Building lxml version 2.3.3. Building without Cython. Using build configuration of libxslt 1.1.24 Adding lxml 2.3.3 to easy-install.pth file Installed /Library/Python/2.6/site-packages/lxml-2.3.3-py2.6-macosx-10.6-universal.egg Processing dependencies for lxml Finished processing dependencies for lxml 

Which looked successful for me, but I get an import error when trying to import lxml into python ...

 Last login: Sat Mar 24 15:26:04 on ttys000 MYCOMPUTER:~ MYUSERNAME$ python2.7 Python 2.7.2 (v2.7.2:8527427914a2, Jun 11 2011, 15:22:34) [GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> import lxml Traceback (most recent call last): File "<stdin>", line 1, in <module> ImportError: No module named lxml 

The fact that I seem to be set to 2.6 and I am running 2.7 seems to be the key, but I don't know what to do about it.

+4
python install lxml python-import macos
Mar 24 '12 at 19:48
source share
2 answers

You have installed a newer version of Python (2.7.2), but you also need to install and use a copy of easy_install (from Distribute or setuptools ) to use with it. As a result, you used the default version of Apple supplied by easy_install , which is associated with the supplied Apple Python 2.6. Check out /Library/Python/2.6 on easy_install output. (You can make sure that when you try to import lxml using /usr/bin/python2.6 .) After installing easy_install using Python 2.7, the new easy_install should be the first in your shell path if you used the standard python.org default installer . If not, update your PATH :

 export PATH="/Library/Frameworks/Python.framework/Versions/2.7/bin:${PATH}" 

Then easy_install lxml using it. As of python.org 2.7.2, you do not need to add the ARCHFLAGS environment ARCHFLAGS , but that will not hurt.

+4
Mar 24 '12 at 20:45
source share

You can simply run:

 sudo env ARCHFLAGS="-arch i386 -arch x86_64" easy_install-2.7 lxml 

This will use the easy_install version that comes with your 2.7 installation.

+1
Mar 24 2018-12-12T00:
source share



All Articles