I prefer generally to use pip rather than apt-get for installing python modules, as I prefer to separate the packages for Python development from general system packages. However, it seems as though pip won't work for me. I want to install Django, and when I used sudo pip install Django, the installation went through successfully. However, when I opened my Python interpreter REPL, I could not successfully import django - I received an ImportError that Django could not be found. On the other hand, upon running sudo apt install python-django, the installation was successful again, and this time, I could import Django.

So why does this happen? With the pip installation, for some reason, Django was not in /usr/local/lib/python2.7/dist-packages, which is where modules installed with pip go, but django-admin was installed and usable, proving that pip must have installed Django. On the other hand, after installing Django with apt/apt-get, Django folders were existing in /usr/lib/python2.7/dist-packages, where any modules I install with the system package manager are found. I don't know what else I can do to troubleshoot this issue - please tell me if there is anything I am missing and should add.

EDIT I also tried easy_install, which installed to my Python 3.5, and then pip3, and both allowed importing from the Python 3 interpreter. So why doesn't pip for Python 2.7 work in installing Django? I tried another module with pip for 2.7, and everything worked fine. This is just with Django.


The problem was that my pip was, for some reason, pointing to Python 3.5, even though there was already pip3 for that. I fixed it.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.