簡體   English   中英

如何修復“ ImportError:沒有名為...的模塊”錯誤

[英]How to fix “ImportError: No module named …” error

我有一個工作正常的Django應用程序django_trial_on_mac ,最近移到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'。

沒有更多信息很難回答,但是Heroku上的PYTHONPATH env變量似乎出了點問題:

  • 它不包括您的項目目錄,或
  • 您可能具有非標准的項目目錄結構,或者
  • 問題可能很簡單,就像上傳帶有父目錄的項目一樣,而不僅僅是項目目錄...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM