【问题标题】:Installed Django with Pip but Python cant find it用 Pip 安装 Django 但 Python 找不到
【发布时间】:2014-09-12 21:01:01
【问题描述】:

我正在尝试安装 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

【问题讨论】:

  • 您是否为您的 django 安装创建了虚拟环境 (virtualenv)?
  • 没有,我只是用系统python

标签: python django pip


【解决方案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、python3.4,同样适用于 @ 987654328@ + Tab 也是。

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

最好使用virtualenv。你不会有这样的问题,因为在 virtualenv 中你的 Python 版本和 Pip 版本会很好地同步。

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

python2.7 manage.py runserver

或者,运行与您的默认 Python 版本相对应的 pip 版本。

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

【讨论】:

  • pip -V pip 1.5.6 来自 /usr/local/Cellar/python/2.7.8_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pip -1.5.6-py2.7.egg (python 2.7) python -c 'import sys; print(sys.executable)' /usr/bin/python
  • 好的也运行这个:python -c 'import sys; print(sys.path)'
  • 啊,好的,当我查看 pip 源 vim /usr/local/bin/pip 我看到 #!/usr/local/opt/python/bin/python2.7,但我的 python 是 /usr/bin/python
  • python -V 的输出是什么?
  • 我做了一个easy_install pip,它链接到系统python。谢谢!
猜你喜欢
  • 2012-10-17
  • 1970-01-01
  • 2018-03-16
  • 1970-01-01
  • 1970-01-01
  • 2020-04-14
  • 2023-04-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多