Problemas de importação não resolvidos com PyDev e Eclipse
Eu sou muito novo no PyDev e Python, apesar de ter usado bastante o Eclipse para Java. Estou tentando trabalhar com alguns dos exemplos do Dive Into Python e isso parece um problema extremamente trivial que está se tornando extremamente irritante. Estou usando o Ubuntu Linux 10.04.
Eu quero poder usar o arquivo odbchelper.py, localizado no diretório/Desktop/Python_Tutorials/diveintopython/py
Aqui está o meu arquivo example.py no qual estou trabalhando no meu projeto PyDev / Eclipse:
import sys
sys.path.append("~/Desktop/Python_Tutorials/diveintopython/py")
Isso funciona bem, mas quero que a próxima linha do meu código seja:
import odbchelper
e isso causa um erro de importação não resolvido sempre. Eu adicionei__init__.py
arquivos para praticamente todos os diretórios possíveis e isso não ajuda em nada. Eu tentei adicionar__init__.py
arquivos um de cada vez nos vários níveis de diretórios entre o local do projeto e o arquivo odbchelper.py, e também tentei adicionar o__init__.py
arquivos para todos os diretórios no meio simultaneamente. Nem funciona.
Tudo o que eu quero fazer é ter um projeto em algum outro diretório, digamos/Desktop/MyStuff/Project
, no qual tenho example.py ... e, em seguida, de example.py, quero importar odbchelper.py de/Desktop/Python_Tutorials/diveintopython/py/
Cada resposta do quadro de mensagens que posso encontrar dizendo apenas para usar osys.path.append()
função para adicionar este diretório ao meu caminho e importá-lo ... mas é exatamente isso que estou fazendo no meu código e não está funcionando.
Eu também tentei oCtrl-1 truque para suprimir a mensagem de erro, mas o programa ainda não está funcionando corretamente. Eu recebo um erroImportError: No module named odbchelper
. Portanto, claramente não está adicionando o caminho, ou há algum problema que todas as minhas muitas permutações de adicionar__init__.py
arquivos não foram encontrados.
É muito frustrante que algo tão simples ... chamar coisas de algum arquivo que existe em algum outro lugar da minha máquina ... exija muito esforço.