Pregunta

Tengo un archivo de Python " testHTTPAuth.py " que utiliza el módulo deliciousapi y se mantiene en "deliciousapi.py".

He guardado los archivos como

testHTTPAuth.py
lib
   deliciousapi.py

Pero cuando ejecuto: " python testHTTPAuth.py " está dando error

    import deliciousapi
ImportError: No module named deliciousapi

¿Cómo puede manejar estas bibliotecas de Python? Porque más tarde puse el código junto con las bibliotecas como aplicación de Google. Así que no puedo mantener la biblioteca en la ruta normal de la biblioteca.

¿Fue útil?

Solución

Debe agregar el directorio 'lib' a su ruta; de lo contrario, Python no puede encontrar su fuente. Lo siguiente (incluido en un módulo como testHTTPAuth.py) hará eso:

sys.path.append(os.path.join(os.path.dirname(__file__), 'lib')

La sugerencia de Ned de cambiar sus importaciones puede funcionar, pero si algo en el directorio lib importa submódulos con rutas absolutas (la mayoría de los módulos grandes hacen esto), entonces se romperá.

Otros consejos

Si agrega un __init__.py vacío a su directorio lib, puede cambiar su declaración de importación a:

from lib import deliciousapi
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top