Насколько я вижу, C:\Django_example\MySample\webserver.py
и C:\Django_example\MySample\..\MySample\webserver.py
указывают на один и тот же файл, поэтому он не ошибочен.
Если вы хотите более краткое представление пути, попробуйте:
import os
print "File Path: ", os.path.realpath(__file__)
update (попытка понять вывод __file__
)
Единственный способЯ могу воспроизвести это поведение, если я обновлю sys.path
.Пример:
[me@home]$ cd /project/django/xyz
[me@home]$ ./manage.py shell
(InteractiveConsole)
>>> from app import models as M
>>> M.__file__
'/project/django/xyz/app/models.pyc'
>>> import sys
>>> sys.path.append('../')
>>> from xyz.app import models as N
>>> N.__file__
'/project/django/xyz/../xyz/app/models.pyc'
Поскольку абсолютный путь формируется путем добавления относительного пути к базовому пути, я подозреваю, что где-то в вашем пути к питону может быть /../
.
Что делатьвы получаете, когда вы печатаете sys.path
с вашей точки зрения?