¿Cómo importar una función desde la carpeta principal en python?

Necesito realizar una importación de una función en mi proyecto de Python.

Sé que hay docenas de preguntas similares sobre SO, sin embargo, desafortunadamente, no pude encontrar la solución correcta para mí porque las respuestas son muy específicas de las preguntas o demasiado generales, o simplemente son trucos feos (como operar con caminos absolutos).

Así es como se ve la estructura de mi carpeta:

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

Necesito importar el./hashes/hash_function.py de./diffie_hellman/diffie_hellman.py.

los./hashes/hash_function.py el archivo contiene la única función llamadahash_function.

He intentado varias formas de realizar la importación, pero no pude hacerlo. Yo siempre consigo

SystemError: el módulo principal '' no está cargado, no se puede realizar la importación relativa

cuando uso. en mi declaración de importación (es decirfrom .hashes.hash_function)

o me sale esto:

ImportError: ningún módulo llamado 'hashes'

Cada__init__.py El archivo está vacío.

Aquí está la lista de mis intentos:

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

¿Podría ayudarme a resolver mi problema y entender cómo trabajar con tales importaciones?

PD: la solución no se pudo encontrar aquístackoverflow.com/questions/14132789/

Respuestas a la pregunta(2)

Su respuesta a la pregunta