python pandas installation issues

14,180

You have multiple versions of Python 2.7. You installed pandas for one version, and then tried to import it into the other, and you can't do that, because they have separate site libraries.

If you need multiple versions of Python 2.7 for some reason, you have to learn how to manage multiple versions of Python. For example, always be sure whether you're using /usr/bin/easy_install or /usr/local/bin/easy_install, and use the one that goes with the python you plan to run.

But you probably don't need multiple versions. If you just uninstall the non-Apple one, everything will be a lot easier.

You can figure out the details from the paths in your logs. The manual install went to /Library/Python/2.7/site-packages, which is where Apple's /usr/bin/python looks. But the easy_install went to /usr/local/lib/python/2.7/site-packages, which is where the third-party (presumably Homebrew, from the brew tag?) /usr/local/bin/python. So clearly, the first python on your path is /usr/bin/python, while the first easy_install is /usr/local/bin/easy_install. That's going to lead to confusion, as it did here.

Even worse, if you install ipython into both Pythons, whichever one you install second is going to end up as /usr/local/bin/ipython, which is going to lead to even more confusion.

If you do sudo /usr/bin/easy_install pandas, you can use pandas in the Apple Python. To make sure that's the one you run, always do /usr/bin/python or /usr/bin/python /usr/local/bin/ipython. If you do sudo /usr/local/bin/easy_install pandas, you can use pandas in the third-party Python. To make sure that's the one you run, always do /usr/local/bin/python or /usr/local/bin/python /usr/local/bin/ipython.

Looking at your comments, and your more detailed edit, it's possible that you actually have two third-party Pythons here, which makes things even more confusing. If both of them prefer /usr/local/bin (and unless you're using MacPorts or Fink, they do), you've probably got one of them half-overwritten by the other, and there's just no way you're going to get this working. If that's the case, I would recommend that you do something radical. If you're not willing to do an install-from-scratch-with-settings-import of OS X, at least rm -rf /usr/local /Library/Python ~/Library/Python, then reinstall brew and any other third-party stuff you need, and this time make sure to only install one extra Python (although zero would still be better!).

Meanwhile, two minor side notes:

  1. It's almost always better to use pip than easy_install. If you don't have it, sudo easy_install pip, and now you do. (The only common exceptions to that "almost" are for pip itself, and for readline.)

  2. Don't use sudo with Homebrew. Homebrew goes through a lot of trouble to set up all of the directories it touches so you never need sudo. Once you start doing sudo brew, sudo /usr/local/bin/easy_install, etc., you end up breaking that, so later installations get permissions errors, and it takes a lot of work with brew doctor to fix everything.

Share:
14,180
sgt pepper
Author by

sgt pepper

Updated on June 14, 2022

Comments

  • sgt pepper
    sgt pepper almost 2 years

    I have tried installing from

    1. source (python setup.py install into the extracted tar ball dir)
    2. using pip
    3. using easy_install but nothing seems to work...I have downloaded and upgraded xcode, installed command-line tools..

    I cloned the github repository for pandas

    cd ../pandas
    python setup.py install 
    running install
    running bdist_egg
    running egg_info
    writing requirements to pandas.egg-info/requires.txt
    writing pandas.egg-info/PKG-INFO
    writing top-level names to pandas.egg-info/top_level.txt
    writing dependency_links to pandas.egg-info/dependency_links.txt
    reading manifest file 'pandas.egg-info/SOURCES.txt'
    reading manifest template 'MANIFEST.in'
    warning: no files found matching 'setupegg.py'
    no previously-included directories found matching 'doc/build'
    warning: no previously-included files matching '*.so' found anywhere in distribution
    warning: no previously-included files matching '*.pyd' found anywhere in distribution
    warning: no previously-included files matching '*.pyc' found anywhere in distribution
    warning: no previously-included files matching '.DS_Store' found anywhere in distribution
    writing manifest file 'pandas.egg-info/SOURCES.txt'
    installing library code to build/bdist.macosx-10.6-intel/egg
    running install_lib
    running build_py
    copying pandas/version.py -> build/lib.macosx-10.6-intel-2.7/pandas
    running build_ext
    **gcc-4.2 not found, using clang instead**
    building 'pandas.index' extension
    clang -fno-strict-aliasing -fno-common -dynamic -arch i386 -arch x86_64 -g -O2 -DNDEBUG -g -O3 -I/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/numpy/core/include -Ipandas/src/klib -Ipandas/src -I/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c pandas/index.c -o build/temp.macosx-10.6-intel-2.7/pandas/index.o
    In file included from pandas/index.c:260:
    In file included from pandas/src/klib/khash_python.h:3:
    pandas/src/klib/khash.h:573:1: warning: expression result unused [-Wunused-value]
    KHASH_MAP_INIT_STR(str, size_t)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    pandas/src/klib/khash.h:565:2: note: expanded from macro 'KHASH_MAP_INIT_STR'
        KHASH_INIT(name, kh_cstr_t, khval_t, 1, kh_str_hash_func, kh_str_hash_equal)
        ^
    

    ---more output like that...and in the end

    Installed /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-      packages/pandas-0.10.1.dev_c934e02-py2.7-macosx-10.6-intel.egg
    Processing dependencies for pandas==0.10.1.dev-c934e02
    Searching for pytz
    Reading http://pypi.python.org/simple/pytz/
    Reading http://pytz.sourceforge.net
    Reading http://sourceforge.net/project/showfiles.php?group_id=79122
    Reading http://www.stuartbishop.net/Software/pytz
    Reading http://sourceforge.net/projects/pytz/
    Best match: pytz 2012h
    Downloading http://pypi.python.org/packages/2.7/p/pytz/pytz-2012h-py2.7.egg#md5=4258fcfc023e9ff0057405d935fc6e1d
    Processing pytz-2012h-py2.7.egg
    creating /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pytz-2012h-py2.7.egg
    Extracting pytz-2012h-py2.7.egg to /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages
    Adding pytz 2012h to easy-install.pth file
    
    Installed /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pytz-2012h-py2.7.egg
    -----
    Installed /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/six-1.2.0-py2.7.egg
    Searching for numpy==1.6.2
    Best match: numpy 1.6.2
    Adding numpy 1.6.2 to easy-install.pth file
    
    Using /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages
    Finished processing dependencies for pandas==0.10.1.dev-c934e02
    
    ipython
    
    Python 2.7.3 (v2.7.3:70274d53c1dd, Apr  9 2012, 20:52:43) 
    Type "copyright", "credits" or "license" for more information.
    
    IPython 0.14.dev -- An enhanced Interactive Python.
    ?         -> Introduction and overview of IPython's features.
    %quickref -> Quick reference.
    help      -> Python's own help system.
    object?   -> Details about 'object', use 'object??' for extra details.
    
    In [1]: import pandas
    

    seems to work without issues..

    when i use easy_install to install pandas, the on-screen output seems to suggest that it worked but on loading, python is not able to find the library

    sudo easy_install pandas
    Searching for pandas
    Best match: pandas 0.10.1.dev-c934e02
    Processing pandas-0.10.1.dev_c934e02-py2.7-macosx-10.8-intel.egg
    pandas 0.10.1.dev-c934e02 is already the active version in easy-install.pth
    
    Using /usr/local/lib/python2.7/site-packages/pandas-0.10.1.dev_c934e02-py2.7-macosx-10.8-intel.egg
    Processing dependencies for pandas
    Finished processing dependencies for pandas
    
    dekumar-mn:ipython dekumar$ python
    Python 2.7.3 (v2.7.3:70274d53c1dd, Apr  9 2012, 20:52:43) 
    [GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
    Type "help", "copyright", "credits" or "license" for more information.
    
    >>> import pandas as pd
    Traceback (most recent call last):
    File "<stdin>", line 1, in <module>
    ImportError: No module named pandas