2016-07-29 48 views
1

我一直有一些问题吞噬我的文件,所以我重新启动我的电脑,回到我的项目,并启动服务器时,我突然得到了错误:ImportError: No module named django.core.management重新启动计算机,并得到:ImportError:没有模块名为django.core.management

我在本地工作,在我的文件,我可以看到Django的文件夹 - 它的路径是:MAMP/Library/lib/python2.7/site-packages/mysql/connector/django

完整的错误看起来是这样的:

Message: 
    Command failed: /bin/sh -c ./manage.py runserver 
Traceback (most recent call last): 
    File "./manage.py", line 11, in <module> 
    from django.core.management import execute_from_command_line 
ImportError: No module named django.core.management 

Details: 
    killed: false 
    code: 1 
    signal: null 
    cmd: /bin/sh -c ./manage.py runserver 
    stdout: 
    stderr: Traceback (most recent call last): 
    File "./manage.py", line 11, in <module> 
    from django.core.management import execute_from_command_line 
ImportError: No module named django.core.management 

我manage.py看起来是这样的:

#!/usr/bin/env python 
# -*- coding: utf-8 -*- 
from __future__ import unicode_literals 

import os 
import sys 

if __name__ == "__main__": 
    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "tckt.settings") 

    from django.core.management import execute_from_command_line 

    execute_from_command_line(sys.argv) 

运行的蟒蛇给了我这样的: /usr/bin/python

我不确定我是否在虚拟环境中运行。我正在做这个项目的前端,这个环境是由别人为我设置和安装的 - 但是运行python -c 'import sys; print sys.real_prefix' 2>/dev/null && INVENV=1 || INVENV=0(因为另一个帖子建议检查我是否在虚拟环境中)什么也没有返回。

我查看了其他一些帖子,看到有人重新安装了,其他人修改了路径,其他人说不要编辑manage.py文件 - 但是因为我不确定问题是否是路径或安装我不知道如何进行。如果您需要更多的信息,请让我知道。

回答

2

你错过了python包,这意味着你的VirtualEnv没有被激活。

VirtualEnv默认创建一个名为env的文件夹(尽管名称可以更改),它是存储特定python安装及其所有软件包的位置。在您的项目文件夹中搜索activate bash脚本。一旦你找到你可以来源。

source ./env/bin/activate 

为了完整性,在Windows中它将是一个批处理文件。

env/bin/activate.bat 

你会知道你在的virtualenv是当你的命令提示符是由ENV名作为前缀,例如(env) Macbook user$

您现在可以启动您的django测试服务器。

python manage.py runserver 

要取消激活,只需在命令提示符下输入deactivate即可。提示上的(env)前缀应该消失。

+0

哦,这很有趣,重新启动我的电脑之前,我的提示是前缀的文件夹名称(我不记得哪一个) - 真棒我会去检查该“激活”脚本...它会在一个特定文件? – HolyMoly

+0

如果文件夹名称被括号'(env)'包围,那么您的虚拟环境就是文件夹名称。 'activate'脚本将位于'bin'文件夹中的该文件夹中。通常,'env/bin/activate'。 – Soviut

+0

我看到'scripts/bin',里面只有一个名为'create-database'的文件,或许它被删除了......应该手动重新创建它吗? – HolyMoly

相关问题