使用Pip安装Django但Python无法找到它

时间:2014-09-12 21:01:01

标签: python django pip

我正在尝试安装django,但我不确定如何继续。我想我已经安装了django,但python python似乎无法看到包。

$ sudo pip install django
Requirement already satisfied (use --upgrade to upgrade): django in /usr/local/lib/python2.7/site-packages
Cleaning up...

$ python -c "import sys; sys.path = sys.path[1:]; import django; print(django.__path__)"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
ImportError: No module named django

我该如何解决这个问题?当我尝试运行服务器时出现此错误

$ python manage.py runserver
Traceback (most recent call last):
  File "manage.py", line 8, in <module>
    from django.core.management import execute_from_command_line
ImportError: No module named django.core.management

1 个答案:

答案 0 :(得分:1)

您的pip使用的是与python不同的Python版本。检查这些命令的输出:

pip -V
python -V
python -c 'import sys; print(sys.path)'

您的系统中可以安装多个版本的Python和Pip。 例如,在Bash shell中,如果您键入python + Tab 几次,它将显示PATH上可用的Python二进制文件,例如python2.7,{{1} },同样适用于python3.4 + Tab

这取决于您的系统如何正确配置,以便pippython使用相同的版本。

最好使用virtualenv。你不会遇到这样的问题,就像在virtualenv中你的Python版本和Pip版本会很好地同步。

根据您的命令输出判断,pip正在使用Python 2.7。一个快速解决方法是尝试像这样运行Django:

pip

或者,运行与您的默认Python版本对应的python2.7 manage.py runserver 版本。

这个“快速修复”是一个肮脏的修复。最好使用virtualenv。