我有一个名为 django_trial_on_mac 的正在运行的 Django 应用程序,我最近将其移至 GitHub,以便将来将其部署到 heroku。我将项目克隆到 Mac 上的本地 GitHub 文件夹,但是当我从新目录运行应用程序时,收到以下错误:
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
我还没有找到针对该错误的具体情况的解决方案,希望有人可以解释或指出我可以找到答案的地方。谢谢!
最佳答案
问题原来是我的项目目录结构不标准。我的“django_trial_on_mac”目录中缺少 __init__.py
文件。当我在那里创建一个空的 __init__.py 文件后,应用程序就正常运行了。
__init__.py
文件告诉 Django 该目录应该被视为一个包,并且由于“django_trial_on_mac”目录中不存在该文件,因此它无法导入模块“django_trial_on_mac”。
关于python - 如何修复 "ImportError: No module named ..."错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31500612/