Caminho da biblioteca Python
-
22-07-2019 - |
Pergunta
Eu tenho um arquivo python "testhttpauth.py", que usa o módulo deliciosopi e é mantido em "deliciousapi.py".
Eu mantive os arquivos como
testHTTPAuth.py
lib
deliciousapi.py
Mas quando eu corro: "python testhttpauth.py" está dando erro
import deliciousapi
ImportError: No module named deliciousapi
Como pode lidar com essas bibliotecas Python? Porque mais tarde eu coloquei o código junto com as bibliotecas como aplicativo do Google. Portanto, não consigo manter a biblioteca no caminho normal da biblioteca.
Solução
Você precisa adicionar o diretório 'lib' ao seu caminho - caso contrário, o Python não pode encontrar sua fonte. O seguinte (incluído em um módulo como testhttpauth.py) fará isso:
sys.path.append(os.path.join(os.path.dirname(__file__), 'lib')
A sugestão do NED de alterar suas importações pode funcionar, mas se alguma coisa no diretório LIB importar submódulos com caminhos absolutos (a maioria dos grandes módulos faz isso), isso quebrará.
Outras dicas
Se você adicionar um vazio __init__.py
Para o seu diretório Lib, você pode alterar sua declaração de importação para:
from lib import deliciousapi