silent_coder
silent_coder

Reputation: 6502

error when installing pandas package: no module named numpy

I have a big solutions with multiple projects inside. I use virtualenv for that. So for one of my projects in solution I already install the stuff I need, including numpy and pandas

but when I I executing something like that:

cd ../project2
sudo python setup.py develop

It fails installing pandas package and show the error

ImportError: no module named numpy

But if I run something like that right after

python
import numpy
numpy.version.version
import pandas
pandas.version.version

it resolve this code absolutely correctly and show me the versions of packages installed.

So what it the problem there and how could I resolve it to being able to install project dependencies?

OS: Ubuntu 12.04 LTS, Python 2.7.3


python -msite output

sys.path = [
    '/home/user1/code/myproject/project2',
    '/home/user1/code/myproject/project1/src',
    '/home/user1/code/myproject/venv/local/lib/python2.7/site-packages/pymongo-2.5-py2.7-linux-x86_64.egg',
    '/home/user1/code/myproject/venv/local/lib/python2.7/site-packages/Jinja2-2.7.2-py2.7.egg',
    '/home/user1/code/myproject/venv/local/lib/python2.7/site-packages/pandas-0.11.0-py2.7-linux-x86_64.egg',
    '/home/user1/code/myproject/venv/local/lib/python2.7/site-packages/scikit_learn-0.13.1-py2.7-linux-x86_64.egg',
    '/home/user1/code/myproject/venv/local/lib/python2.7/site-packages/scipy-0.13.3-py2.7-linux-x86_64.egg',
    '/home/user1/code/myproject/venv/local/lib/python2.7/site-packages/nltk-2.0.4-py2.7.egg',
    '/home/user1/code/myproject/venv/local/lib/python2.7/site-packages/MarkupSafe-0.19-py2.7-linux-x86_64.egg',
    '/home/user1/code/myproject/venv/local/lib/python2.7/site-packages/pytz-2014.1-py2.7.egg',
    '/home/user1/code/myproject/venv/local/lib/python2.7/site-packages/python_dateutil-2.2-py2.7.egg',
    '/home/user1/code/myproject/venv/local/lib/python2.7/site-packages/PyYAML-3.10-py2.7-linux-x86_64.egg',
    '/home/user1/code/myproject/venv/local/lib/python2.7/site-packages/six-1.6.1-py2.7.egg',
    '/home/user1/code/myproject/venv/lib/python2.7/site-packages/pymongo-2.5-py2.7-linux-x86_64.egg',
    '/home/user1/code/myproject/venv/lib/python2.7/site-packages/Jinja2-2.7.2-py2.7.egg',
    '/home/user1/code/myproject/venv/lib/python2.7/site-packages/pandas-0.11.0-py2.7-linux-x86_64.egg',
    '/home/user1/code/myproject/venv/lib/python2.7/site-packages/scikit_learn-0.13.1-py2.7-linux-x86_64.egg',
    '/home/user1/code/myproject/venv/lib/python2.7/site-packages/scipy-0.13.3-py2.7-linux-x86_64.egg',
    '/home/user1/code/myproject/venv/lib/python2.7/site-packages/nltk-2.0.4-py2.7.egg',
    '/home/user1/code/myproject/venv/lib/python2.7/site-packages/MarkupSafe-0.19-py2.7-linux-x86_64.egg',
    '/home/user1/code/myproject/venv/lib/python2.7/site-packages/pytz-2014.1-py2.7.egg',
    '/home/user1/code/myproject/venv/lib/python2.7/site-packages/python_dateutil-2.2-py2.7.egg',
    '/home/user1/code/myproject/venv/lib/python2.7/site-packages/PyYAML-3.10-py2.7-linux-x86_64.egg',
    '/home/user1/code/myproject/venv/lib/python2.7/site-packages/six-1.6.1-py2.7.egg',
    '/home/user1/code/myproject/venv/lib/python2.7',
    '/home/user1/code/myproject/venv/lib/python2.7/plat-linux2',
    '/home/user1/code/myproject/venv/lib/python2.7/lib-tk',
    '/home/user1/code/myproject/venv/lib/python2.7/lib-old',
    '/home/user1/code/myproject/venv/lib/python2.7/lib-dynload',
    '/usr/lib/python2.7',
    '/usr/lib/python2.7/plat-linux2',
    '/usr/lib/python2.7/lib-tk',
    '/home/user1/code/myproject/venv/local/lib/python2.7/site-packages',
    '/home/user1/code/myproject/venv/lib/python2.7/site-packages',
]
USER_BASE: '/home/user1/.local' (exists)
USER_SITE: '/home/user1/.local/lib/python2.7/site-packages' (exists)
ENABLE_USER_SITE: False

output of sudo python -msite

sys.path = [
    '/home/user1/code/myproject/project2',
    '/home/user1/code/myproject/project1/src',
    '/usr/local/lib/python2.7/dist-packages/pymongo-2.5-py2.7-linux-x86_64.egg',
    '/usr/local/lib/python2.7/dist-packages/Jinja2-2.7.2-py2.7.egg',
    '/home/user1/code/myproject/project_flask/src',
    '/usr/local/lib/python2.7/dist-packages/nltk-2.0.4-py2.7.egg',
    '/usr/local/lib/python2.7/dist-packages/tweepy-2.2-py2.7.egg',
    '/usr/local/lib/python2.7/dist-packages/python_twitter-0.8.2-py2.7.egg',
    '/usr/local/lib/python2.7/dist-packages/lamson-1.1-py2.7.egg',
    '/usr/local/lib/python2.7/dist-packages/celery-3.1.9-py2.7.egg',
    '/usr/local/lib/python2.7/dist-packages/PyYAML-3.10-py2.7-linux-x86_64.egg',
    '/usr/local/lib/python2.7/dist-packages/mongoengine-0.7.9-py2.7.egg',
    '/usr/local/lib/python2.7/dist-packages/multiprocessing-2.6.2.1-py2.7-linux-x86_64.egg',
    '/usr/local/lib/python2.7/dist-packages/Flask_WTF-0.5.2-py2.7.egg',
    '/usr/local/lib/python2.7/dist-packages/Flask_Mail-0.6.1-py2.7.egg',
    '/usr/local/lib/python2.7/dist-packages/Flask-0.7.2-py2.7.egg',
    '/usr/local/lib/python2.7/dist-packages/Werkzeug-0.8.1-py2.7.egg',
    '/usr/local/lib/python2.7/dist-packages/WTForms-0.6.3-py2.7.egg',
    '/usr/local/lib/python2.7/dist-packages/oauth2-1.5.211-py2.7.egg',
    '/usr/local/lib/python2.7/dist-packages/python_daemon-1.6-py2.7.egg',
    '/usr/local/lib/python2.7/dist-packages/nose-1.3.1-py2.7.egg',
    '/usr/local/lib/python2.7/dist-packages/mock-1.0.1-py2.7.egg',
    '/usr/local/lib/python2.7/dist-packages/kombu-3.0.14-py2.7.egg',
    '/usr/local/lib/python2.7/dist-packages/billiard-3.3.0.16-py2.7-linux-x86_64.egg',
    '/usr/local/lib/python2.7/dist-packages/pytz-2014.1-py2.7.egg',
    '/usr/local/lib/python2.7/dist-packages/blinker-1.3-py2.7.egg',
    '/usr/lib/python2.7',
    '/usr/lib/python2.7/plat-linux2',
    '/usr/lib/python2.7/lib-tk',
    '/usr/lib/python2.7/lib-old',
    '/usr/lib/python2.7/lib-dynload',
    '/usr/local/lib/python2.7/dist-packages',
    '/usr/lib/python2.7/dist-packages',
    '/usr/lib/python2.7/dist-packages/PIL',
    '/usr/lib/python2.7/dist-packages/gst-0.10',
    '/usr/lib/python2.7/dist-packages/gtk-2.0',
    '/usr/lib/python2.7/dist-packages/ubuntu-sso-client',
    '/usr/lib/python2.7/dist-packages/ubuntuone-client',
    '/usr/lib/python2.7/dist-packages/ubuntuone-control-panel',
    '/usr/lib/python2.7/dist-packages/ubuntuone-couch',
    '/usr/lib/python2.7/dist-packages/ubuntuone-installer',
    '/usr/lib/python2.7/dist-packages/ubuntuone-storage-protocol',
]
USER_BASE: '/home/user1/.local' (exists)
USER_SITE: '/home/user1/.local/lib/python2.7/site-packages' (doesn't exist)
ENABLE_USER_SITE: True

Upvotes: 6

Views: 8036

Answers (2)

Carlos Hernandez Perez
Carlos Hernandez Perez

Reputation: 331

I recently had this error while trying to update Pandas from version 0.23.1 to 0.24.1.

What solved my problem was to first update pip by executing:

python -m pip install --upgrade pip

And then updating the desired library.

Upvotes: 8

Sven Marnach
Sven Marnach

Reputation: 601351

As can be seen from the output of python -msite, python and sudo python run Python versions in very different envirnoments. It's no surprise they see diferent modules. sudo usually changes your environment, in particular your PATH and HOME environment variables, which may lead to either a different PYTHON interpreter being run, or a differemt user module being imported.

In general, when installing something inside a virtualenv in your home directory, there is no reason why you would want to use sudo. You should use the pip installation within the virtualenv to install packages.

Upvotes: 4

Related Questions