Я обновил свою версию Python на сервере Windows 2003 с 2,4 до 2,5.
В версии 2.4 я мог импортировать файл «sub1.py» из подкаталога c: \ application \ subdir \ следующим образом:
import sub1
до тех пор, пока вызывающий скрипт main.py, который находится в c: \ application, был запущен так:
c:\application\subdir>python ..\main.py
Но в 2.5 это больше не работает для меня:
C:\application\subdir>python ..\main.py
Traceback (most recent call last):
File "main.py", line 3, in <module>
import sub1
ImportError: No module named sub1
Теперь я могу поставить пустой файл
__init__.py
в subdir и импортируйте так:
import subdir.sub1 as sub1
Произошло ли изменение в Python 2.5? Это будет означать, что текущий рабочий каталог в Python 2.4 был унаследован от вызывающего процесса, а в Python 2.5 он установлен там, где живет основной скрипт.
[Edit3]
Я исправил вопрос сейчас. Я должен извиниться, что сначала я упростил пример и устранил причину, которая приводит к ошибке, без проверки моего упрощенного примера.
[/ Edit3]