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.

Foi útil?

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
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top