【问题标题】:Django:python manage.py not woroking but python2.7 manage.py isDjango:python manage.py 不工作,但 python2.7 manage.py 是
【发布时间】:2014-05-14 18:27:33
【问题描述】:

我有一种奇怪的错误。当我在 virtualenv 中运行 manage.py 时,它会显示一个错误

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

但是当我跑步时

python2.7 管理.py

它给了我正确的结果。我不明白它是什么错误以及如何修复它,因为我不想每次都输入 python2.7 还有当我跑步时

pip 冻结 > requiremts.txt

它没有显示安装的完整包,但它们安装在 virtualenv 中的站点包中。 请问这是什么错误?

【问题讨论】:

    标签: django python-2.7 virtualenv


    【解决方案1】:

    激活虚拟环境:

    . virtual_env_dir/bin/activate
    

    【讨论】:

    • 我的 virtualenv 运行良好。我需要弄清楚为什么 python manage.py 不工作而 python2.7 manage.py inside virtualenv 以及如何修复它
    【解决方案2】:

    在我看来,您项目中的 manage.py 与您的系统加载的 django 版本不兼容。

    1. 确保您已激活您的 virtualenv,如果您的提示应该有点像这样(pip freeze 没有显示正确的包列表这一事实让我相信是这种情况):
      (virtualenvname) user@machine pwd $
    
    1. 如果您的提示不是这样,则说明您的 virtualenv 未激活,请运行
      source <path-to-env>/bin/activate
    

    如果你确实在 virtualenv 激活的 shell 中,你可能应该根据 requriements.txt 重新安装包,问题是你只是通过 pip 冻结来覆盖它。因此,如果您有 requirements.txt 的备份,请将其备份并运行

    pip install -r requirements.txt

    【讨论】:

    • 我的 virtualenv 运行良好。我需要弄清楚为什么 python manage.py 不工作而 python2.7 manage.py 在 vi​​rtualenv 中以及如何修复它
    • 如果您的 virtualenv 实际上运行良好,这意味着安装在您的 virtualenv 中的 django 版本与用于创建您正在使用的 manage.py 的 django 版本不兼容。它适用于 python 2.7 的原因可能是因为您在 /usr/lib/python2.7/dist-packages/ (或您的发行版的任何路径)中安装了正确的 django 版本(例如,用于创建 manage.py 的版本)使用)
    猜你喜欢
    • 2020-07-04
    • 2017-09-28
    • 1970-01-01
    • 2011-02-20
    • 2018-01-23
    • 2019-05-04
    • 2014-05-17
    • 2015-07-31
    • 2014-02-17
    相关资源
    最近更新 更多