Вопрос об установке относительного импорта пути. У меня есть куча файлов (модулей), которые живут в «/ Пользователи/MyName/Desktop/programX_files/programX/общие/ такие как:Импорт питона из относительных путей
- /Пользователи/MyName/Desktop/programX_files/programX/общее/constants.py
- /Users/myname/Desktop/programX_files/programX/common/util/misc.py
Каждый из этих модулей имеет линию, чтобы импортировать другие модули внутри общего каталога/по мере необходимости. Примеры:
"constants.py" в (/Users/myname/Desktop/programX_files/programX/common/constants.py) содержит строку:
- импорта programX.common.util.misc как util_misc
И "misc.py" в (/Users/myname/Desktop/programX_files/programX/common/util/misc.py) содержит строку:
- импорт programX.common.constants как константы
Теперь я хочу использовать эти модули. Как правильно сообщить python для установки правильных зависимостей пути, чтобы он знал, что нужно посмотреть (/ Users/myname/Desktop/programX_files/programX/common /) и подкаталоги внутри общего?
Я попытался прилагая путь, но он не работает:
>>> import sys
>>> sys.path.append('/Users/myname/Desktop/programX_files/programX/')
>>> import programX.common.constants.py as constants
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named programX.common.constants.py
>>>
>>> sys.path.append('/Users/myname/Desktop/programX_files/programX/common/')
>>> sys.path.append('/Users/myname/Desktop/programX_files/programX/common/util')
>>>
>>> import programX.common.constants.py as constants
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named programX.common.constants.py
>>>
>>> import os
>>> os.getcwd()
'/Users/myname'
>>>
>>> import Desktop.programX_files.programX.common.constants.py as constants
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named Desktop.programX_files.programX.common.constants.py
>>>
Я предполагаю, что это может быть какой-то относительно простое решение, но я не могу понять это. Спасибо за ответы.