gpt4 book ai didi

python - 持续获取 ImportError : Could not import settings 'myapp.settings' error

转载 作者:太空狗 更新时间:2023-10-29 18:30:41 25 4
gpt4 key购买 nike

这个问题似乎有很多潜在的解决方案,但似乎没有一个对我有用。

运行 python manage.py runserver 没问题,但尝试运行 django-admin.py 时出现错误 - 使用任何选项。我实际上正在尝试做一个 django-admin.py dumpdata myapp

Traceback (most recent call last):
File "/Users/lemon/.virtualenvs/ram/bin/django-admin.py", line 5, in <module>
management.execute_from_command_line()
File "/Users/lemon/.virtualenvs/ram/lib/python2.7/site-packages/django/core/management/__init__.py", line 399, in execute_from_command_line
utility.execute()
File "/Users/lemon/.virtualenvs/ram/lib/python2.7/site-packages/django/core/management/__init__.py", line 392, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/Users/lemon/.virtualenvs/ram/lib/python2.7/site-packages/django/core/management/__init__.py", line 261, in fetch_command
commands = get_commands()
File "/Users/lemon/.virtualenvs/ram/lib/python2.7/site-packages/django/core/management/__init__.py", line 107, in get_commands
apps = settings.INSTALLED_APPS
File "/Users/lemon/.virtualenvs/ram/lib/python2.7/site-packages/django/conf/__init__.py", line 54, in __getattr__
self._setup(name)
File "/Users/lemon/.virtualenvs/ram/lib/python2.7/site-packages/django/conf/__init__.py", line 49, in _setup
self._wrapped = Settings(settings_module)
File "/Users/lemon/.virtualenvs/ram/lib/python2.7/site-packages/django/conf/__init__.py", line 132, in __init__
% (self.SETTINGS_MODULE, e)
ImportError: Could not import settings 'ram.settings' (Is it on sys.path? Is there an import error in the settings file?): No module named ram.settings

我的项目目录结构是:

README.md
├── TODO
├── fabfile.py
├── manage.py
├── ram
│   ├── __init__.py
│   ├── __init__.pyc
│   ├── ram.sqlite
│   ├── ram.sqlite.orig
│   ├── settings.py
│   ├── settings.py.orig
│   ├── settings.pyc
│   ├── templates
│   ├── urls.py
│   ├── urls.pyc
│   ├── wsgi.py
│   └── wsgi.pyc
├── ramapp
│   ├── __init__.py
│   ├── __init__.pyc
│   ├── admin.py
│   ├── admin.pyc
│   ├── forms.py
│   ├── forms.pyc
│   ├── models.py
│   ├── models.pyc
│   ├── templates
│   │   └── ram
│   │   ├── contributors.html
│   │   ├── index.html
│   │   ├── ram_sheet.html
│   │   └── scenario_add.html
│   ├── tests.py
│   ├── urls.py
│   ├── urls.pyc
│   ├── views.py
│   ├── views.py.orig
│   └── views.pyc
├── requirements.txt
└── templates
└── admin
└── base_site.html

我正在使用 virtualenvrapper,我已经重新安装并且没有问题。

manage.py 看起来像这样:

#!/usr/bin/env python
import os
import sys

if __name__ == "__main__":
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "ram.settings")

from django.core.management import execute_from_command_line

execute_from_command_line(sys.argv)

不太确定还有什么地方可以解决这个问题 - 非常感谢任何帮助。谢谢。

尝试按照建议修改PYTHONPATH,现在出现类似的错误:

Traceback (most recent call last):
File "/Users/lemon/.virtualenvs/ram/bin/django-admin.py", line 5, in <module>
management.execute_from_command_line()
File "/Users/lemon/.virtualenvs/ram/lib/python2.7/site-packages/django/core/management/__init__.py", line 399, in execute_from_command_line
utility.execute()
File "/Users/lemon/.virtualenvs/ram/lib/python2.7/site-packages/django/core/management/__init__.py", line 392, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/Users/lemon/.virtualenvs/ram/lib/python2.7/site-packages/django/core/management/__init__.py", line 272, in fetch_command
klass = load_command_class(app_name, subcommand)
File "/Users/lemon/.virtualenvs/ram/lib/python2.7/site-packages/django/core/management/__init__.py", line 75, in load_command_class
module = import_module('%s.management.commands.%s' % (app_name, name))
File "/Users/lemon/.virtualenvs/ram/lib/python2.7/site-packages/django/utils/importlib.py", line 40, in import_module
__import__(name)
File "/Users/lemon/.virtualenvs/ram/lib/python2.7/site-packages/django/core/management/commands/dumpdata.py", line 3, in <module>
from django.core import serializers
File "/Users/lemon/.virtualenvs/ram/lib/python2.7/site-packages/django/core/serializers/__init__.py", line 22, in <module>
from django.core.serializers.base import SerializerDoesNotExist
File "/Users/lemon/.virtualenvs/ram/lib/python2.7/site-packages/django/core/serializers/base.py", line 5, in <module>
from django.db import models
File "/Users/lemon/.virtualenvs/ram/lib/python2.7/site-packages/django/db/__init__.py", line 83, in <module>
signals.request_started.connect(reset_queries)
File "/Users/lemon/.virtualenvs/ram/lib/python2.7/site-packages/django/dispatch/dispatcher.py", line 88, in connect
if settings.DEBUG:
File "/Users/lemon/.virtualenvs/ram/lib/python2.7/site-packages/django/conf/__init__.py", line 54, in __getattr__
self._setup(name)
File "/Users/lemon/.virtualenvs/ram/lib/python2.7/site-packages/django/conf/__init__.py", line 47, in _setup
% (desc, ENVIRONMENT_VARIABLE))
django.core.exceptions.ImproperlyConfigured: Requested setting DEBUG, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.

最佳答案

尝试:

export PYTHONPATH=/path/to/folder/with/manage.py:$PYTHONPATH

看来是路径问题。您调用 manage.py 的路径通常会添加到 PYTHONPATH,如果您调用 django-admin.py 则不会。因此,您的应用程序找不到 ram 模块。您需要将 manage.py 所在的文件夹 添加到 PYTHONPATH

编辑

django.core.exceptions.ImproperlyConfigured: Requested setting DEBUG, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.

意味着你必须告诉django,哪些设置。所以输入下面一行

export DJANGO_SETTINGS_MODULE='ram.settings'

或者通过以下方式启动django-admin

django-admin.py runserver --settings='ram.settings'

(当然是改变了pythonpath)

关于python - 持续获取 ImportError : Could not import settings 'myapp.settings' error,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20270297/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com