Python - os.chemin d'accès n'existe pas: AttributeError: 'module' objet n'a pas d'attribut 'chemin'

Enquêter sur une étrange erreur que j'ai commencé à avoir tous d'un coup avec gdb-python, j'ai réduit à ceci:

C:\Users\User>python -i
Python 2.7.3 (default, Apr 10 2012, 23:31:26) [MSC v.1500 32 bit (Intel)] on win 32
Type "help", "copyright", "credits" or "license" for more information.
>>> import os
>>> dir(os.path)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute 'path'
>>> dir(os)
['__builtins__', '__doc__', '__file__', '__name__', '__package__']

À la recherche par le biais de certains autres 'module' object has no attribute réponses, le plus commun suggestion est qu'il doit y avoir un autre voyou os.py quelque part dans sys.path, et qu'il était chargé, plutôt que de l'intégré dans un. Mais j'ai vérifié dans PYTHONPATH variable d'environnement, et dans le répertoire courant, et il n'y avait pas d'autres os.py.

J'ai donc cherché un moyen de trouver le nom du fichier où l'entité a été défini, et sans surprise, Python a une telle installation dans la forme de la inspect module.

>>> inspect.getsourcelines(os)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Programs\Python273\lib\inspect.py", line 690, in getsourcelines
    lines, lnum = findsource(object)
  File "C:\Programs\Python273\lib\inspect.py", line 527, in findsource
    sourcefile = getsourcefile(object)
  File "C:\Programs\Python273\lib\inspect.py", line 451, in getsourcefile
    if os.path.exists(filename):
AttributeError: 'module' object has no attribute 'path'

Donc inspect a été en s'appuyant sur os.path, et puis j'ai manqué d'idées.

Je n'ai pas installé quelque chose de nouveau récemment. La seule chose qui s'est passé était un arrêt forcé que j'avais à faire, ce qui pourrait avoir coïncidé avec l'exécution d'un script Python, depuis que j'ai été l'exécution d'un court script Python dans une boucle à plusieurs reprises lorsque la machine est devenu insensible et l'arrêt forcé a eu lieu.

OriginalL'auteur Evgeni Sergeev | 2014-02-08