6

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
3
  • Please post the output of python -msite and sudo python -msite. Commented Mar 20, 2014 at 15:18
  • virtualenv --system-site-packages saves you from installing NumPy and SciPy every time (and potentially getting a suboptimal build). Commented Mar 20, 2014 at 15:36
  • @SvenMarnach Wow, That's fantastic. I just run command without sudo and it's work. Thanks a lot. Could you provide it as an answer which will allow me accept it. I also will be very appreciate if you provide very basic notes about differences sudo and non sudo calls, because for current moment I just thinking sudo only run command with wider credentials. Commented Mar 20, 2014 at 15:55

2 Answers 2

8

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.

Sign up to request clarification or add additional context in comments.

1 Comment

Pip 9.0.3 was installed by default and gave me OP's error. I ran this to install pip 21.3.1. The later version installed pandas correctly. Astonishing.
4

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.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.