Как я могу импортировать функцию из file.py, изнутри some_file.py? Я пытался:
from application.app.folder.file import func_name
но это не работает.
Переведено автоматически
Ответ 1
Примечание: Этот ответ был предназначен для очень конкретного вопроса. Для большинства программистов, приходящих сюда из поисковой системы, это не тот ответ, который вы ищете. Обычно вы структурируете свои файлы в пакеты (см. Другие ответы) вместо изменения пути поиска.
По умолчанию вы не можете этого сделать. При импорте файла Python выполняет поиск только в каталоге, из которого запущен скрипт точки входа, и sys.path который включает такие местоположения, как каталог установки пакета (на самом деле это немного сложнее, чем это, но это охватывает большинство случаев).
Однако вы можете добавить путь к Python во время выполнения:
# some_file.py import sys # caution: path[0] is reserved for script path (or '' in REPL) sys.path.insert(1, '/path/to/application/app/folder')
import file
Ответ 2
Нет ничего плохого в:
from application.app.folder.file import func_name
Просто убедитесь, что folder также содержит __init__.py. Это позволяет включить его в качестве пакета. Я не уверен, почему в других ответах говорится о PYTHONPATH.
Ответ 3
Когда модули находятся в параллельных расположениях, как в вопросе: