Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Unresolved Import Issues with PyDev and Eclipse

I am very new to PyDev and Python, though I have used Eclipse for Java plenty. I am trying to work through some of the Dive Into Python examples and this feels like an extremely trivial problem that's just becoming exceedingly annoying. I am using Ubuntu Linux 10.04.

I want to be able to use the file odbchelper.py, which is located in the directory /Desktop/Python_Tutorials/diveintopython/py

Here is my example.py file that I'm working on in my PyDev/Eclipse project:

import sys sys.path.append("~/Desktop/Python_Tutorials/diveintopython/py") 

This works fine, but then I want the next line of my code to be:

import odbchelper 

and this causes an unresolved import error every time. I have added __init__.py files to just about every directory possible and it doesn't help anything. I've tried adding __init__.py files one at a time to the various levels of directories between the project location and the odbchelper.py file, and I've also tried adding the __init__.py files to all of the directories in between simultaneously. Neither works.

All I want to do is have a project somewhere in some other directory, say /Desktop/MyStuff/Project, in which I have example.py ... and then from example.py I want to import odbchelper.py from /Desktop/Python_Tutorials/diveintopython/py/

Every message board response I can find just saying to use the sys.path.append() function to add this directory to my path, and then import it ... but that is precisely what I am doing in my code and it's not working.

I have also tried the Ctrl-1 trick to suppress the error message, but the program is still not functioning correctly. I get an error, ImportError: No module named odbchelper. So it's clearly not getting the path added, or there is some problem that all of my many permutations of adding __init__.py files has missed.

It's very frustrating that something this simple... calling things from some file that exists somewhere else on my machine... requires this much effort.

like image 704
ely Avatar asked Jan 07 '11 23:01

ely


People also ask

How do I fix unresolved imports Python?

Go to Extensions → Python. The unresolved-import for relative imports is clearly incorrect, this gets rid of it. This only fixes the warning, not the knock on issues.

Why is PyDev not showing in Eclipse?

it seems that you installed pydev with wrong version. remember check your java version(by typing java -version in console). if it says 1.6. X, then you should NOT check "Show only the latest versions of available softerware" option in the first popup window after "Help->Install New Software" clicked.


1 Answers

In the properties for your pydev project, there's a pane called "PyDev - PYTHONPATH", with a sub-pane called "External Libraries". You can add source folders (any folder that has an __init__.py) to the path using that pane. Your project code will then be able to import modules from those source folders.

like image 104
David German Avatar answered Oct 12 '22 00:10

David German