Как импортировать модуль в Python, не меняя относительные пути в коде?Python

Программы на Python
Anonymous
Как импортировать модуль в Python, не меняя относительные пути в коде?

Сообщение Anonymous »

Я пытаюсь импортировать некоторые имеющиеся у меня модули, но получаю ошибки с относительными путями в коде, когда вставляю корень проекта в системный путь. Мой каталог выглядит следующим образом:

Код: Выделить всё

project/
|
|----output/
|
|----package/
|--------__init__.py
|--------module.py
|
|----dir/
|--------script.py
Простая попытка импортировать каталог dir1 в script.py с помощью модуля импорта dir1 выводит ошибку ModuleNotFoundError: нет модуля с именем 'dir1 '. И когда я попробую следующий подход:

Код: Выделить всё

import sys
sys.path.insert(1, 'path/to/project')

from dir1 import module

a = os.listdir('../output/')
Это выдает ошибку FileNotFoundError: [Errno 2] Нет такого файла или каталога: '../output'. И это сработает, только если я изменю этот путь в коде на «output/». Очевидно, при изменении системного пути все пути в коде основаны на корне проекта. Как я могу импортировать свой модуль без необходимости соответствующим образом изменять пути в коде?
При попытке выполнить команду Export PYTHONPATH=path/to/project возникает та же проблема.

Подробнее здесь: https://stackoverflow.com/questions/785 ... n-the-code

Вернуться в «Python»