Sou muito novo em PyDev e Python, embora já tenha usado bastante o Eclipse para Java. Estou tentando trabalhar com alguns dos exemplos Dive Into Python e isso parece um problema extremamente trivial que está se tornando extremamente irritante. Estou usando o Ubuntu Linux 10.04.
Quero poder usar o arquivo odbchelper.py, que está localizado no diretório /Desktop/Python_Tutorials/diveintopython/py
Aqui está meu arquivo example.py no qual estou trabalhando em 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 sempre causa um erro de importação não resolvido. Eu adicionei __init__.py
arquivos a quase todos os diretórios possíveis e isso não ajuda em nada. Tentei adicionar __init__.py
arquivos um de cada vez aos vários níveis de diretórios entre o local do projeto e o arquivo odbchelper.py e também tentei adicionar os __init__.py
arquivos a todos os diretórios intermediários simultaneamente. Nenhum dos dois funciona.
Tudo o que quero fazer é ter um projeto em algum outro diretório, digamos /Desktop/MyStuff/Project
, no qual tenho example.py ... e de example.py quero importar odbchelper.py de/Desktop/Python_Tutorials/diveintopython/py/
Cada resposta do quadro de mensagens eu posso encontrar apenas dizendo para usar a sys.path.append()
função para adicionar este diretório ao meu caminho e, em seguida, importá-lo ... mas é precisamente isso que estou fazendo no meu código e não está funcionando.
Também tentei o truque Ctrl- 1para suprimir a mensagem de erro, mas o programa ainda não está funcionando corretamente. Recebo um erro ImportError: No module named odbchelper
,. Portanto, é evidente que o caminho não está sendo adicionado ou há algum problema que todas as minhas muitas permutações de adicionar __init__.py
arquivos foram perdidas.
É muito frustrante que algo tão simples ... chamar coisas de algum arquivo que existe em algum outro lugar da minha máquina ... exija tanto esforço.
grp
módulo. Acabei de adicioná-lo àbuiltins
lista em Preferências> PyDev> Intérpretes> Python> Embutidos forçados e ainda obtenho o preenchimento automático para esse móduloRespostas:
Nas propriedades do seu projeto pydev, há um painel denominado "PyDev - PYTHONPATH", com um subpainel denominado "Bibliotecas externas". Você pode adicionar pastas de origem (qualquer pasta que tenha
__init__.py
) ao caminho usando esse painel. O código do projeto será então capaz de importar módulos dessas pastas de origem.fonte
sys.path
C:\Python27\lib\site-packages
, mas no meu computador, a pasta lib é capitalizado:C:\Python27\Lib\site-packages
. Substituir a entrada em minúsculas por uma maiúscula e, em seguida, Arquivo-> Reiniciar corrigiu o problema para mim. Espero que ajude alguém por aí :)Estou usando o eclipse kepler 4.3, PyDev 3.9.2 e no meu ubuntu 14.04 encontrei o mesmo problema. Tentei e passei horas, com todas as opções acima, mas em vão. Então tentei o seguinte, o que foi ótimo:
E eu estava usando o Python 2.7 como interpretador, embora não tenha efeito, eu acho.
fonte
Acabei de atualizar um projeto WXWindows para Python 2.7 e não tive problemas para fazer o Pydev reconhecer o novo interpretador. Fiz a mesma coisa que configurou o interpretador acima, fiz uma nova instalação do Eclipse e do Pydev. Achei que alguma parte do python devia estar corrompida, então instalei tudo novamente. Arghh! Fechado e reaberto o projeto e reiniciado o Eclipse entre todas essas mudanças.
FINALMENTE notei que você pode 'remover a configuração do projeto PyDev' clicando com o botão direito no projeto. Em seguida, pode ser transformado em um projeto PyDev novamente, agora é bom como ouro!
fonte
Eu consertei meu pythonpath e tudo estava ótimo quando importei coisas através do console, mas todas essas importações não resolvidas anteriormente ainda estavam marcadas como erros em meu código, não importa quantas vezes eu reiniciei o eclipse ou atualizei / limpei o projeto.
Cliquei com o botão direito do mouse no projeto-> Pydev-> Remover marcadores de erro e ele me livrou desse problema. Não se preocupe, se o seu código contiver erros reais, eles serão remarcados.
fonte
projeto -> propriedades -> pydev-pythonpath -> bibliotecas externas -> adicionar pasta de origem, adicionar a PASTA PAI do projeto. Em seguida, reinicie o eclipse.
fonte
Aqui está o que funcionou para mim (sugerido por soulBit):
Esta é a solução mais simples de todas e remove completamente o que é chato.
fonte
Existem duas maneiras de resolver esse problema:
Agora não vejo mais o erro, e o recurso de autocompletar código funciona bem com "garrafa".
fonte
Estou executando o Eclipse 4.2.0 (Juno) e o PyDev 2.8.1 e encontrei este problema com uma lib instalada no caminho dos meus pacotes do site. De acordo com esta pergunta do SO:
Arquivos Pydev e * .pyc
... há um problema com os arquivos PyDev e pyc. No caso da lib em particular que tentei fazer referência, tudo o que é entregue são arquivos pyc.
Aqui está o que fiz para resolver isso:
Execute o uncompyle2 nos arquivos * .pyc no lib do site-packages. Exemplo:
uncompyle2 -r -o / tmp / path / to / site-packages / lib
O erro de importação não resolvido relacionado aos arquivos .pyc agora deve desaparecer.
fonte
Seguir, na minha opinião vai resolver o problema
uma. De acordo com o que David German sugeriu. No entanto, isso só se aplica aos projetos específicos em que você está b. Adicione em "~ / Desktop / Python_Tutorials / diveintopython / py" em um novo PythonPath em Window -> Preferences -> PyDev -> Interpreters -> Python Interpreter -> subguia Bibliotecas -> NewFolder
Espero que ajude.
fonte
Tive alguns problemas para importar bibliotecas adicionais, depois de tentar resolver o problema, ao compreender PYTHONPATH, Interpreter e Grammar, descobri que escrevi tudo, mas os problemas continuam. Depois disso, apenas adicionei uma nova linha vazia nos arquivos que continham os erros de importação e os salvei e o erro foi resolvido .
fonte
ISSO funciona perfeitamente com o arquivo para mim
Outro exemplo é
fonte