La Configuration De Django
Je viens d'installer Django 1.6 sur OS X 10.8 avec python 2.7 et éprouve de la difficulté à passer par le tutoriel. Après le réglage de la création d'un serveur appelé monsite en cours d'exécution:
django-admin.py startproject mysite
Je puis cd ed dans monsite et a couru
python manage.py runserver
et eu cette erreur:
Traceback (most recent call last):
File "manage.py", line 10, in <module>
execute_from_command_line(sys.argv)
File "/Library/Python/2.7/site-packages/django/core/management/__init__.py", line 399, in execute_from_command_line
utility.execute()
File "/Library/Python/2.7/site-packages/django/core/management/__init__.py", line 392, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/Library/Python/2.7/site-packages/django/core/management/base.py", line 242, in run_from_argv
self.execute(*args, **options.__dict__)
File "/Library/Python/2.7/site-packages/django/core/management/base.py", line 280, in execute
translation.activate('en-us')
File "/Library/Python/2.7/site-packages/django/utils/translation/__init__.py", line 130, in activate
return _trans.activate(language)
File "/Library/Python/2.7/site-packages/django/utils/translation/trans_real.py", line 188, in activate
_active.value = translation(language)
File "/Library/Python/2.7/site-packages/django/utils/translation/trans_real.py", line 177, in translation
default_translation = _fetch(settings.LANGUAGE_CODE)
File "/Library/Python/2.7/site-packages/django/utils/translation/trans_real.py", line 159, in _fetch
app = import_module(appname)
File "/Library/Python/2.7/site-packages/django/utils/importlib.py", line 40, in import_module
__import__(name)
File "/Library/Python/2.7/site-packages/django/contrib/admin/__init__.py", line 6, in <module>
from django.contrib.admin.sites import AdminSite, site
File "/Library/Python/2.7/site-packages/django/contrib/admin/sites.py", line 4, in <module>
from django.contrib.admin.forms import AdminAuthenticationForm
File "/Library/Python/2.7/site-packages/django/contrib/admin/forms.py", line 6, in <module>
from django.contrib.auth.forms import AuthenticationForm
File "/Library/Python/2.7/site-packages/django/contrib/auth/forms.py", line 17, in <module>
from django.contrib.auth.models import User
File "/Library/Python/2.7/site-packages/django/contrib/auth/models.py", line 361, in <module>
class AbstractUser(AbstractBaseUser, PermissionsMixin):
File "/Library/Python/2.7/site-packages/django/db/models/base.py", line 212, in __new__
new_class.add_to_class(field.name, copy.deepcopy(field))
File "/Library/Python/2.7/site-packages/django/db/models/base.py", line 264, in add_to_class
value.contribute_to_class(cls, name)
File "/Library/Python/2.7/site-packages/django/db/models/fields/__init__.py", line 303, in contribute_to_class
cls._meta.add_field(self)
File "/Library/Python/2.7/site-packages/django/db/models/options.py", line 172, in add_field
self.local_fields.insert(bisect(self.local_fields, field), field)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/functools.py", line 56, in <lambda>
'__lt__': [('__gt__', lambda self, other: other < self),
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/functools.py", line 56, in <lambda>
.........
cette erreur finit par être imprimé à plusieurs reprises jusqu'à la fin:
Fichier "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/functools.py", la ligne 56,
'_lt_': [('_gt_', lambda soi, des autres: d'autres < auto),
Et voici les dernières lignes de sortie:
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/functools.py", line 56, in <lambda>
'__lt__': [('__gt__', lambda self, other: other < self),
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/functools.py", line 56, in <lambda>
'__lt__': [('__gt__', lambda self, other: other < self),
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/functools.py", line 56, in <lambda>
'__lt__': [('__gt__', lambda self, other: other < self),
RuntimeError: maximum recursion depth exceeded while calling a Python object
Après avoir regardé la dernière ligne:
RuntimeError: maximum recursion depth exceeded while calling a Python object
J'ai aussi couru:
django-admin.py check
et obtiens ce résultat:
django.core.exceptions.ImproperlyConfigured: Requested setting DEFAULT_INDEX_TABLESPACE, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.
J'ai aussi essayé le réglage de ma variable d'environnement dans tcsh en tapant:
setenv DJANGO_SETTINGS_MODULE "mysite.settings"
mais encore, elle m'a donné de la profondeur de récursion d'erreur. L'exécution de
django-admin.py check
puis m'a donné ce message d'erreur:
ImportError: Could not import settings 'mysite.settings' (Is it on sys.path? Is there an import error in the settings file?): No module named mysite.settings
Voici mon settings.py:
"""
Django settings for mysite project.
For more information on this file, see
https://docs.djangoproject.com/en/1.6/topics/settings/
For the full list of settings and their values, see
https://docs.djangoproject.com/en/1.6/ref/settings/
"""
# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
import os
BASE_DIR = os.path.dirname(os.path.dirname(__file__))
# Quick-start development settings - unsuitable for production
# See https://docs.djangoproject.com/en/1.6/howto/deployment/checklist/
# SECURITY WARNING: keep the secret key used in production secret!
SECRET_KEY = '3e%g^*y!3$2=ln75%usf2ftjf&urt7&kuj@_-yc+53pjm)$@9^'
# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True
TEMPLATE_DEBUG = True
ALLOWED_HOSTS = []
# Application definition
INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
)
MIDDLEWARE_CLASSES = (
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
)
ROOT_URLCONF = 'mysite.urls'
WSGI_APPLICATION = 'mysite.wsgi.application'
# Database
# https://docs.djangoproject.com/en/1.6/ref/settings/#databases
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
}
}
# Internationalization
# https://docs.djangoproject.com/en/1.6/topics/i18n/
LANGUAGE_CODE = 'en-us'
TIME_ZONE = 'UTC'
USE_I18N = True
USE_L10N = True
USE_TZ = True
# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/1.6/howto/static-files/
STATIC_URL = '/static/'
Et mon fichier de structure:
mysite/
manage.py
mysite/
__init__.py
settings.py
urls.py
__init__.pyc
settings.pyc
wsgi.py
Je suis un newbie à django et je suis vraiment coincé. Quelqu'un peut-il offrir un aperçu?
settings.py
et les dernières lignes de l'exī vous obtenez lors de l'exécution de manage.py runserver
.l'erreur finit par répéter: "Fichier /System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/functools.py", la ligne 56, dans <lambda> 'lt': [('gt', lambda soi, des autres: d'autres < auto), " jusqu'à la fin
Qu'est-ce que dans votre env variable? il doit être le répertoire dans lequel le fichier de paramètres est
Je viens de résoudre par la mise à niveau à partir de Python 2.7.2 à 2.7.6. Voir la réponse que j'ai posté. Malheureusement je n'ai pas enregistré l'impression de mon précédent variable d'environnement, il est donc difficile de comparer la différence entre la nouvelle variable d'environnement.
OriginalL'auteur theNinja | 2013-12-27
Vous devez vous connecter pour publier un commentaire.
Vérifier dans
manage.py
si vous avez ceci:Et dans
wsgi.py
ce:Aussi, tous les scripts python qui intègrent Django devrait ressembler à ceci:
Cette réponse m'a rapproché de la solution. Pour quelqu'un qui a de la difficulté à intégrer Django dans un script externe assurez-vous de définir la variable d'environnement dans le début du script, avant même de vos importations, mais après le système d'exploitation à l'importation de cours.
OriginalL'auteur Marius Darila
Ok, donc j'ai finalement trouvé la réponse. Apparemment l'erreur a été une suite de Python 2.7.2. Une fois que j'ai mis à 2.7.6, le problème a disparu.
Ici est un fil similaire où j'ai trouvé la réponse:
profondeur maximum de récursivité dépassé en cmp d'erreur lors de l'exécution de python manage.py runserver
Ne sais pas pourquoi cette solution n'apparaît pas dans mes recherches, quand j'ai été la création de ce thread...
Êtes-vous toujours cette erreur? Pas sûr de ce que les spécifications et la version de Django sur votre ordinateur, mais pour OS X lorsque vous exécutez "python -V" sur la ligne de commande, vous devriez obtenir "Python 2.7.6". Aussi, êtes-vous en cours d'exécution de Django avec un IDE?
En fait j'ai trouvé une faute de frappe dans le code et après correction d'erreur a disparu, cependant le texte de l'erreur est la même 🙂
Hey @theNinja je suis face à un même problème avec python 2.7.13 version. Pouvez-vous dire quelle raison exacte pour que.
OriginalL'auteur theNinja