¿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/