Discussion:
[pyar] Problema extraño al importar
Daniel
2018-10-02 14:33:47 UTC
Permalink
Hola gente linda....
tengo un problema que me desorienta..
-Importo un módulo (sin problemas)
-Después me dice que no existe ese módulo si quiero importar a partir de él
-pero si hago un dir... si existe.

https://pastebin.com/dc5TVR6L

Hice y rehice varias veces el entorno, con distintas versiones de python

¿alguién tiene alguna idea de que pasa?

Gracias!
Matías Bellone
2018-10-02 14:42:22 UTC
Permalink
Hasta donde tengo entendido, los imports no funcionan de esa forma.

Por más que tengas un módulo importado no podés importar relativo a ese
módulo. Sólo podés usar lo que haya dentro de ese módulo con esa
referencia. Es decir:

from google.cloud import speech_v1p1beta1 as speech
speech.enums.RecognitionMetadata # esto debería andar

Para importar un submódulo, tenés que especificar la ruta completa:

from google.cloud.speech_v1p1beta1.enums import RecognitionMetadata

Saludos,
Toote
Post by Daniel
Hola gente linda....
tengo un problema que me desorienta..
-Importo un módulo (sin problemas)
-Después me dice que no existe ese módulo si quiero importar a partir de él
-pero si hago un dir... si existe.
https://pastebin.com/dc5TVR6L
Hice y rehice varias veces el entorno, con distintas versiones de python
¿alguién tiene alguna idea de que pasa?
Gracias!
_______________________________________________
Sitio web: http://www.python.org.ar/
Para administrar la lista (o desuscribirse) entrar a
http://listas.python.org.ar/listinfo/pyar
La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
Argentina - http://www.usla.org.ar
Sebastián Schiavinato
2018-10-05 19:12:52 UTC
Permalink
No, no podes importar un submodulo de un paquete usando el alias. Para eso
tenés lo que mencionó Matías arriba

Respecto a la linea

speech.enums.RecognitionMetadata # esto debería andar

Solo andaría si el paquete speech_v1p1beta1 hace los imports necesarios en
su __init__.

El tema de los imports para mi quedó medio legacy e inconsistente (viendo
como resuelve Rust o C# esas cosas), pero ahora cambiarlo va a ser peor
catástrofe que Python 3000.

Saludos
Post by Matías Bellone
Hasta donde tengo entendido, los imports no funcionan de esa forma.
Por más que tengas un módulo importado no podés importar relativo a ese
módulo. Sólo podés usar lo que haya dentro de ese módulo con esa
from google.cloud import speech_v1p1beta1 as speech
speech.enums.RecognitionMetadata # esto debería andar
from google.cloud.speech_v1p1beta1.enums import RecognitionMetadata
Saludos,
Toote
Post by Daniel
Hola gente linda....
tengo un problema que me desorienta..
-Importo un módulo (sin problemas)
-Después me dice que no existe ese módulo si quiero importar a partir de él
-pero si hago un dir... si existe.
https://pastebin.com/dc5TVR6L
Hice y rehice varias veces el entorno, con distintas versiones de python
¿alguién tiene alguna idea de que pasa?
Gracias!
_______________________________________________
Sitio web: http://www.python.org.ar/
Para administrar la lista (o desuscribirse) entrar a
http://listas.python.org.ar/listinfo/pyar
La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
Argentina - http://www.usla.org.ar
_______________________________________________
Sitio web: http://www.python.org.ar/
Para administrar la lista (o desuscribirse) entrar a
http://listas.python.org.ar/listinfo/pyar
La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
Argentina - http://www.usla.org.ar
Daniel
2018-10-08 11:40:43 UTC
Permalink
si, gracias chicos, era eso.
Me desorientó porque "teóricamente" era un programa que estaba andando (y
no es mio)
me ahogué en un vaso de agua :)


El vie., 5 oct. 2018 a las 16:13, Sebastián Schiavinato (<
Post by Sebastián Schiavinato
No, no podes importar un submodulo de un paquete usando el alias. Para eso
tenés lo que mencionó Matías arriba
Respecto a la linea
speech.enums.RecognitionMetadata # esto debería andar
Solo andaría si el paquete speech_v1p1beta1 hace los imports necesarios en
su __init__.
El tema de los imports para mi quedó medio legacy e inconsistente (viendo
como resuelve Rust o C# esas cosas), pero ahora cambiarlo va a ser peor
catástrofe que Python 3000.
Saludos
Post by Matías Bellone
Hasta donde tengo entendido, los imports no funcionan de esa forma.
Por más que tengas un módulo importado no podés importar relativo a ese
módulo. Sólo podés usar lo que haya dentro de ese módulo con esa
from google.cloud import speech_v1p1beta1 as speech
speech.enums.RecognitionMetadata # esto debería andar
from google.cloud.speech_v1p1beta1.enums import RecognitionMetadata
Saludos,
Toote
Post by Daniel
Hola gente linda....
tengo un problema que me desorienta..
-Importo un módulo (sin problemas)
-Después me dice que no existe ese módulo si quiero importar a partir de él
-pero si hago un dir... si existe.
https://pastebin.com/dc5TVR6L
Hice y rehice varias veces el entorno, con distintas versiones de python
¿alguién tiene alguna idea de que pasa?
Gracias!
_______________________________________________
Sitio web: http://www.python.org.ar/
Para administrar la lista (o desuscribirse) entrar a
http://listas.python.org.ar/listinfo/pyar
La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
Argentina - http://www.usla.org.ar
_______________________________________________
Sitio web: http://www.python.org.ar/
Para administrar la lista (o desuscribirse) entrar a
http://listas.python.org.ar/listinfo/pyar
La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
Argentina - http://www.usla.org.ar
_______________________________________________
Sitio web: http://www.python.org.ar/
Para administrar la lista (o desuscribirse) entrar a
http://listas.python.org.ar/listinfo/pyar
La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
Argentina - http://www.usla.org.ar
--
Daniel Malisani
Loading...