首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >python3 django-1.11 ImportError:没有名为“MyProject.settings”的模块

python3 django-1.11 ImportError:没有名为“MyProject.settings”的模块
EN

Stack Overflow用户
提问于 2017-12-01 02:39:45
回答 1查看 287关注 0票数 0

django 1.11

python 3.6.3

我一直在开发一个最初的django应用程序,并将视图、模型和表单从单个文件更改为目录。我的开发机器是一个运行最新PyCharm的windows盒。然后,我将更新的文件“部署”到linux测试机器上。

在linux机器上,我做了makemigrationsmigrate,这似乎是可行的。然后我访问了现场..。

代码语言:javascript
复制
Traceback (most recent call last):
  File "/dh/passenger/helper-scripts/wsgi-loader.py", line 320, in <module>
    app_module = load_app()
  File "/dh/passenger/helper-scripts/wsgi-loader.py", line 61, in load_app
    return imp.load_source('passenger_wsgi', startup_file)
  File "/home/me/.pyenv/versions/3.5.2/lib/python3.5/imp.py", line 172, in load_source
    module = _load(spec)
  File "<frozen importlib._bootstrap>", line 693, in _load
  File "<frozen importlib._bootstrap>", line 673, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 665, in exec_module
  File "<frozen importlib._bootstrap>", line 222, in _call_with_frames_removed
  File "passenger_wsgi.py", line 23, in <module>
    application = get_wsgi_application()
  File "/home/me/.pyenv/versions/3.5.2/lib/python3.5/site-packages/django/core/wsgi.py", line 13, in get_wsgi_application
    django.setup(set_prefix=False)
  File "/home/me/.pyenv/versions/3.5.2/lib/python3.5/site-packages/django/__init__.py", line 22, in setup
    configure_logging(settings.LOGGING_CONFIG, settings.LOGGING)
  File "/home/me/.pyenv/versions/3.5.2/lib/python3.5/site-packages/django/conf/__init__.py", line 56, in __getattr__
    self._setup(name)
  File "/home/me/.pyenv/versions/3.5.2/lib/python3.5/site-packages/django/conf/__init__.py", line 41, in _setup
    self._wrapped = Settings(settings_module)
  File "/home/me/.pyenv/versions/3.5.2/lib/python3.5/site-packages/django/conf/__init__.py", line 110, in __init__
    mod = importlib.import_module(self.SETTINGS_MODULE)
  File "/home/me/.pyenv/versions/3.5.2/lib/python3.5/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 986, in _gcd_import
  File "<frozen importlib._bootstrap>", line 969, in _find_and_load
  File "<frozen importlib._bootstrap>", line 956, in _find_and_load_unlocked
ImportError: No module named 'MyProject.settings'

我已经做了相当多的谷歌搜索,并看到了许多这类问题,但我没有找到一个解决方案。

我已经测试了wsgi启动脚本,它构建/使用的所有路径都是正确和有效的。这个项目看上去像(为了简洁而剪短):

代码语言:javascript
复制
devSiteBase
|-- MyProject
|   |-- MyProject
|   |   |-- __init__.py
|   |   |-- settings.py
|   |   |-- urls.py
|   |   `-- wsgi.py
|   |-- Members
|   |   |-- __init__.py
|   |   |-- admin.py
|   |   |-- apps.py
|   |   |-- forms
|   |   |   |-- ...
|   |   |   |-- __init__.py
|   |   |-- models
|   |   |   |-- ...
|   |   |   |-- __init__.py
|   |   |-- tests.py
|   |   |-- urls.py
|   |   `-- views
|   |       |-- ...
|   |       |-- __init__.py
|   |-- __init__.py
|   |-- manage.py
|   `-- templates
|       |-- ...
|-- passenger_wsgi.py
|-- public
|   |-- ...

wsgi启动脚本:

代码语言:javascript
复制
import os
import sys

from django.core.wsgi import get_wsgi_application

cwd = os.getcwd()
sys.path.append(cwd)
sys.path.append(os.path.join(cwd, 'MyProject'))
sys.path.append(os.path.join(cwd, 'MyProject/MyProject'))

HOME_DIR = os.path.expanduser('~')

INTERP = os.path.join(HOME_DIR, ".pyenv/versions/3.5.2/bin/python")

if sys.executable != INTERP:
    os.execl(INTERP, INTERP, *sys.argv)

sys.path.insert(0, os.path.join(HOME_DIR, '.pyenv/versions/3.5.2/bin'))
sys.path.insert(0, os.path.join(HOME_DIR, '.pyenv/versions/3.5.2/lib/python3.5/site-packages'))

os.environ['DJANGO_SETTINGS_MODULE'] = 'MyProject.settings'

application = get_wsgi_application()

我可以运行python manage.py diffsettings,这显然可以读取设置文件。

编辑这个问题出现在linux平台上,而不是PC上。

EN

回答 1

Stack Overflow用户

发布于 2017-12-01 04:43:41

当您使用Pycharm时,您需要项目右上角的enable环境,您需要选择编辑配置,您可以在那里添加您的设置文件并启用django,查看这个图像,应该如下所示

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47585844

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档