AttributeError: 'module' objet n'a pas d'attribut "config"
Je suis nouveau sur Python et j'essaie mes premières applications. Pourquoi suis-je l'Attribut message:
Traceback (most recent call last):
Fichier "C:\Users\myname\documents\visual studio 2010\Projects\PythonApplication
1\PythonApplication1\RunSikuliOnVM.py", la ligne 97,
la journalisation.config.dictConfig(LOG_DICT_CONFIG_OnVM)
AttributeError: 'module' objet n'a pas d'attribut "config"
Appuyez sur n'importe quelle touche pour continuer . . .
Voici une partie de mon code pour l'instant:
import os
import sys
import subprocess
import fnmatch
import datetime
import logging
import logging.handlers
import logging.config
"""===Global Variables==="""
LOGFILE = r"V:/RunTests.log"
LOGDETAILS= r"V:/SikuliScriptDetails.log"
FAILEDTESTS = r"V:/FailedTests.txt"
"""Logging configuration"""
# Dictionary configuration for logging within RunSikuliOnVM.py
LOG_DICT_CONFIG_OnVM = {
'version': 1,
'disable_existing_loggers': False,
'formatters': {
'verbose': {
'format': '%(levelname)-8s %(asctime)s %(module)s %(process)d %(thread)d %(message)s',
'datefmt': '%a, %d %b %Y %H:%M:%S'
},
'standard': {
'format': '%(asctime)s [%(levelname)s] %(name)s: %(message)s',
'datefmt': '%a, %d %b %Y %H:%M:%S'
},
'simple': {
'format': '%(asctime)s %(levelname)-8s %(message)s',
'datefmt': '%a, %d %b %Y %H:%M:%S'
}
},
'handlers': {
'console': {
'level':'DEBUG',
'class':'logging.StreamHandler',
'formatter': 'simple'
},
'RunTests_Handler': {
'class': 'logging.handlers.TimedRotatingFileHandler',
'level': 'DEBUG',
'formatter': 'simple',
'filename': LOGFILE,
'when':'D',
'interval': 7,
'backupCount':1,
'encoding': None,
'delay': False,
'utc': False,
},
'SikuliScriptDetails_Handler': {
'class': 'logging.handlers.TimedRotatingFileHandler',
'level': 'DEBUG',
'formatter': 'verbose',
'filename':LOGDETAILS,
'when':'D',
'interval': 7,
'backupCount':2,
'encoding': None,
'delay': False,
'utc': False,
},
'FailedTests_Handler': {
'class': 'logging.handlers.TimedRotatingFileHandler',
'level': 'DEBUG',
'formatter': 'standard',
'filename':FAILEDTESTS,
'when':'D',
'interval': 7,
'backupCount':2,
'encoding': None,
'delay': False,
'utc': False,
}
},
'loggers': {
'RunTests_Logger': {
'handlers': ['RunTests_Handler'],
'level': 'DEBUG',
'propagate': False
},
'SikuliScriptDetails_Logger': {
'handlers': ['SikuliScriptDetails_Handler'],
'level': 'DEBUG',
'propagate': False
},
'FailedTests_Logger': {
'handlers': ['FailedTests_Handler'],
'level': 'DEBUG',
'propagate': False
}
}
}
logging.config.dictConfig(LOG_DICT_CONFIG_OnVM)
logfilelogger = logging.getLogger('RunTests_Logger')
logdetailslogger = logging.getLogger('SikuliScriptDetails_Logger')
failedtestslogger = logging.getLogger('FailedTests_Logger')
PS: Certains de l'indentation est éteint...
Cette erreur se produit uniquement pour moi, quand
Oui, il est. Comme vous pouvez le voir dans mon extrait de code, j'ai tous les trois:
Je vois qu'il est là dans ce morceau de code, mais est-il possible que visual studio est en cours d'exécution d'une précédente (mise en cache?) la version du fichier? Avez-vous essayé sans le
Oh, je crois que je vois ce que tu veux dire à propos de la possibilité qu'une autre version en cache en cours d'exécution. Ce module vous voir dans l'extrait de code est en fait un processus enfant d'un autre module. Le module parent a également
Je ne suis pas sûr de ce que tu veux dire par un parent et enfant (deux séparée des modules python? parent.py et child.py?) Ce qui se passe lorsque vous essayez sans l'importation de journalisation dans le processus de l'enfant? Le message d'erreur indique qu'il essaye d'utiliser une configuration de l'attribut dans le module de journalisation, de l'exploitation forestière.config.
import logging.config
n'est pas inclus dans le fichier. Est-ce inclus dans le code que vous êtes en cours d'exécution?Oui, il est. Comme vous pouvez le voir dans mon extrait de code, j'ai tous les trois:
import logging import logging.handlers import logging.config
Je vois qu'il est là dans ce morceau de code, mais est-il possible que visual studio est en cours d'exécution d'une précédente (mise en cache?) la version du fichier? Avez-vous essayé sans le
import logging
? Je peux courir sans et je ne suis pas sûr que le haut niveau module est appelé.Oh, je crois que je vois ce que tu veux dire à propos de la possibilité qu'une autre version en cache en cours d'exécution. Ce module vous voir dans l'extrait de code est en fait un processus enfant d'un autre module. Le module parent a également
import logging
. Pensez-vous que je devrais supprimer l'un dans le processus de l'enfant?Je ne suis pas sûr de ce que tu veux dire par un parent et enfant (deux séparée des modules python? parent.py et child.py?) Ce qui se passe lorsque vous essayez sans l'importation de journalisation dans le processus de l'enfant? Le message d'erreur indique qu'il essaye d'utiliser une configuration de l'attribut dans le module de journalisation, de l'exploitation forestière.config.
OriginalL'auteur Alain | 2013-08-07
Vous devez vous connecter pour publier un commentaire.
Je suis aussi un débutant. J'ai eu le même problème. J'ai supprimé le crud dans mon répertoire (construire et dist dossiers etc), puis reconstruite. Bingo! Je soupçonne que, comme Alain l'a suggéré, PyCharm a mis en cache quelque chose d'indésirable.
Juste au cas où quelqu'un à l'aide de PyCharm est ici, vous vous demandez comment nettoyer le cache de leur interprète, la réponse est ici, Veuillez vérifier les et laissez-nous savoir si cela a résolu votre problème.
J'ai aussi commencé un blog d'entrée pour étudier la question un peu plus loin et de rassembler la documentation à ce sujet tout en place.
OriginalL'auteur Return_Of_The_Archons