2015-07-19 48 views
1

我有一个名为django_trial_on_mac的工作Django应用程序,我最近将它移动到GitHub中,以便将来将其部署到heroku。我克隆了一个项目,以我的本地GitHub的文件夹在我的MAC,但是当我在新目录中我收到以下错误跑的应用:如何解决“ImportError:No module named ...”错误

Traceback (most recent call last):  
    File  "/Users/danieloram/GitHub/Python_projects_for_github/django_trial_on_mac/manage.py", line 10, in <module> 
    execute_from_command_line(sys.argv) 
    File "/Library/Frameworks/Python.framework/Versions/3.2/lib/python3.2/site-packages/django/core/management/__init__.py", line 338, in execute_from_command_line 
    utility.execute() 
    File "/Library/Frameworks/Python.framework/Versions/3.2/lib/python3.2/site-packages/django/core/management/__init__.py", line 303, in execute 
    settings.INSTALLED_APPS 
    File "/Library/Frameworks/Python.framework/Versions/3.2/lib/python3.2/site-packages/django/conf/__init__.py", line 48, in __getattr__ 
    self._setup(name) 
    File "/Library/Frameworks/Python.framework/Versions/3.2/lib/python3.2/site-packages/django/conf/__init__.py", line 44, in _setup 
    self._wrapped = Settings(settings_module) 
    File "/Library/Frameworks/Python.framework/Versions/3.2/lib/python3.2/site-packages/django/conf/__init__.py", line 92, in __init__ 
    mod = importlib.import_module(self.SETTINGS_MODULE) 
    File  "/Library/Frameworks/Python.framework/Versions/3.2/lib/python3.2/importlib/__init__.py", line 124, in import_module 
    return _bootstrap._gcd_import(name[level:], package, level) 
    File  "/Library/Frameworks/Python.framework/Versions/3.2/lib/python3.2/importlib/_bootstrap.py", line 807, in _gcd_import 
    _gcd_import(parent) 
    File  "/Library/Frameworks/Python.framework/Versions/3.2/lib/python3.2/importlib/_bootstrap.py", line 824, in _gcd_import 
    raise ImportError(_ERR_MSG.format(name)) 
ImportError: No module named django_trial_on_mac 

我还没有找到一个解决这个错误的具体情况和我希望有人能够解释或指向我可以找到答案的地方。谢谢!

+0

啊确定这是一个开始。我会研究它并回复你! – Danoram

+0

解决!我错过了我的应用程序的'django_trial_on_mac'目录中的__init__.py文件!简单的非标准项目目录结构问题就像你说的:D Idk它是如何在第一个地方被移除的。 – Danoram

回答

2

问题原来是我有一个非标准的项目目录结构。我错过了我的'django_trial_on_mac'目录中的__init__.py文件。只要我在那里创建了一个空的__init__.py文件,应用程序就正常运行。

__init__.py文件告诉Django该目录应作为一个包,因为这个文件没有在“django_trial_on_mac”目录中,它也无法导入模块“django_trial_on_mac”进行处理。

0

很难回答没有更多的信息,但它看起来像什么是错的与你的Heroku PYTHONPATH环境变量:

  • 它不包括你的项目目录,或
  • 你可能有一个非标准项目的目录结构,或
  • 问题可能是一个与它的父目录上传项目那样简单,不仅项目目录...