Я надеюсь, что есть простой ответ на этот вопрос, который я просто пропускаю.
Вот настройка:
foo/
__init__.py
run.py
Содержимое run.py:
import foo
Запустите скрипт:
$ python run.py
Traceback (most recent call last):
File "run.py", line 1, in <module>
import foo
ImportError: No module named foo
Единственный способ выяснить это:
Содержимое run.py:
import sys
import os
path = os.path.abspath(__file__)
sys.path.append(os.path.join(os.path.dirname(path), "../"))
import foo
Так что это работает, но проблема (если я не ошибаюсь) состоит в том, что это добавляет родительский каталог foo / в sys.path
и, таким образом, ищет во всех папках-близнецах foo / для модулей Python.* У меня есть случай, когда я действительно, действительно не хочу этого делать.Я просто хочу добавить один каталог в качестве модуля к моему пути, но я не могу понять, как просто добавить этот модуль без добавления родительского каталога этого каталога и, следовательно, каждого другого каталога ниже этого родительского каталога.
Я что-то пропускаю здесь?Есть ли простой способ добавить родительскую папку скрипта в качестве модуля?