Как импортировать функцию из родительской папки в python?
Мне нужно выполнить импорт функции в моем проекте Python.
Я знаю, что есть десятки похожих вопросов по SO, однако, к сожалению, я не смог найти правильное решение для меня, потому что ответы либо слишком специфичны для вопроса, либо слишком общие, либо они просто уродливые хаки (например, работа с абсолютными путями).
Вот как выглядит структура моей папки:
PythonClient:.
│ .gitignore
│ des.py
│ des_test.py
│ des_var2.py
│ gui.py
│ index.py
│ __init__.py
│
├───diffie_hellman
│ │ diffie_hellman.py
│ │ diffie_hellman_test.py
│ │ __init__.py
│ │
│ └───__pycache__
│ diffie_hellman.cpython-35.pyc
│
├───hashes
│ │ collision.py
│ │ hash_function.py
│ │ __init__.py
│ │
│ └───__pycache__
│ hash_function.cpython-35.pyc
│ __init__.cpython-35.pyc
│
└───__pycache__
des.cpython-35.pyc
des_var2.cpython-35.pyc
Мне нужно импортировать./hashes/hash_function.py
от./diffie_hellman/diffie_hellman.py
.
./hashes/hash_function.py
файл содержит единственную функцию с именемhash_function
.
Я пробовал множество способов выполнить импорт, но просто не смог этого сделать. Я всегда получаю либо
SystemError: Родительский модуль '' не загружен, не может выполнить относительный импорт
когда я использую.
в моем заявлении на импорт (т.е.from .hashes.hash_function
)
или я получаю это:
ImportError: нет модуля с именем 'hashes'
каждый__init__.py
файл пуст
Вот список моих попыток:
from hashes import hash_function
from hashes.hash_function import hash_function
from .hashes.hash_function import hash_function
from ..hashes.hash_function import hash_function
import hashes
import hash_function
from .. import hash_function
from . import hash_function
from PythonClient.hashes.hash_function import hash_function
Не могли бы вы помочь мне решить мою проблему и понять, как работать с таким импортом?
PS: решение не может быть найдено здесьstackoverflow.com/questions/14132789/