7
votes

de django.db Importer Utils ImporterRor ne peut pas importer des utils de noms?

Je suis dans la coquille de Python ordinaire et je reçois cette erreur lorsque vous essayez d'importer mes modèles de projet:

from results.models import TestResult  

Traceback (most recent call last):  
  File "C:\Program Files (x86)\Wing IDE 3.2\src\debug\tserver\_sandbox.py", line 1, in <module>  
    # Used internally for debug sandbox under external interpreter  
  File "C:\Users\audrey_moreau\myProject\results\models.py", line 1, in <module>  
    from django.db import models  
  File "c:\Python27\Lib\site-packages\django\db\__init__.py", line 40, in <module>  
    backend = load_backend(connection.settings_dict['ENGINE'])  
  File "c:\Python27\Lib\site-packages\django\db\__init__.py", line 34, in __getattr__  
    return getattr(connections[DEFAULT_DB_ALIAS], item)  
  File "c:\Python27\Lib\site-packages\django\db\utils.py", line 92, in __getitem__  
    backend = load_backend(db['ENGINE'])  
  File "c:\Python27\Lib\site-packages\django\db\utils.py", line 54, in load_backend  
    return import_module('.base', backend_name)  
  File "c:\Python27\Lib\site-packages\django\utils\importlib.py", line 35, in import_module  
    __import__(name)  
  File "c:\Python27\Lib\site-packages\django\db\backends\sqlite3\base.py", line 14, in <module>  
    from django.db import utils  
ImportError: cannot import name utils


3 commentaires

Avez-vous créé votre propre package ou module appelé «Utils» qui pourrait causer un conflit étrange? Non convaincu que la réinstallation de Django est la réponse comme il a clairement trouvé le fichier django.db.utils. La trace de la pile montre que son code d'exécution de là.


Avez-vous défini l'environnement correctement? Vous dites que vous êtes dans une coquille python ordinaire, mais pour utiliser les modèles Django, vous devez être à l'intérieur de la coquille Django ou configurer votre coquille pour travailler.


Voir Stackoverflow.com/Questions/78666256/django-circulaire-import-e erreur.


4 Réponses :


1
votes

J'ai eu ce bogue et c'était causé par Django_nose. J'essayais d'importer Django_nose à partir de paramètres.py pour déterminer s'il existe sur le système comme celui-ci:

from imp import find_module
try:
    find_module('django_nose')
    INSTALLED_APPS += ['django_nose']
    TEST_RUNNER = 'django_nose.NoseTestSuiteRunner'
except ImportError:
    pass


0 commentaires

1
votes

Je ne connais pas la raison exacte, mais à l'aide de la coquille Python de Django I.e {$. / gérer.py shell} ne jette pas l'erreur. Je pense que Django fait que c'est la propre petite personnalisation / le remplacement des forfaits de Python, d'où l'altercation dans l'interprète traditionnel.


0 commentaires

0
votes

J'ai eu la même erreur. Désinstallation et réinstallation de Django s'en occupent:

sudo pip uninstall django
sudo pip install django


0 commentaires

0
votes

Ajouter Django à votre chemin SYS. J'ai eu un problème similaire et cela a fonctionné pour moi.


0 commentaires