这是我的相关目录结构(Windows 7,Python 2.7,virtualenv)
-userProf
- - manage.py
- -UserProfile
- sampleapp_db
- urls.py
- views.py
- wsgi.py
- __init__.py
-
-libs
- - __init__.py
- -allauth
- - app_settings.py
- - models.py
- - tests.py
- - urls.py
- - utils.py
- - __init__.py
- -
- -account
- - - admin.py
- - - context_processors.py
- - - models.py
- - - urls.py
- - - __init__.py
- -socialaccount
- - - admin.py
- - - context_processors.py
- - - models.py
- - - urls.py
- - - views.py
- - - __init__.py
- - -
- -templates
- -account
- - - base.html
- - - email.html
-settings
- base_settings.py
- dev.py
- __init__.py
-
-static
-css
当我尝试运行此django应用程序时出现以下错误 错误:没有名为帐户的模块
我已阅读SO上的其他帖子,这些帖子指的是syspath是问题,或者appname是否与项目名称匹配
Django Shell No module named settings
...因此,我在base_settings.py文件中添加了以下语句
import sys
base = os.path.abspath(os.path.dirname(os.path.dirname(__file__)))
base_parent = os.path.dirname(base)
sys.path.append(base)
sys.path.append(base_parent)
sys.path.append(os.path.join(base,'libs'))
sys.path.append(os.path.join(base,'libs','allauth','account'))
我通过在PyCharm中放置一个中断并评估sys.path来验证sys.path是否正确
我应该把它放在manage.py吗?
其他一些SO帖子提到无法导入模块但我可以启动python控制台并导入UserProfile.libs.allauth.account而不会抛出任何异常!
我的base_setings.py有以下相关部分
INSTALLED_APPS = (
'UserProfile.libs.allauth.account',
)
答案 0 :(得分:6)
看起来像libs / allauth dir缺少文件;
__init__.py
根据评论,最终解决方案是更新manage.py文件中的sys.path文件
在manage.py文件中进行更改之前,没有看到settings.py中的更改,因为它无法访问settings.py文件。