Pydev say, "Unresolved import" error - pydev

hm..
Sometime, PyDev say "Unresolved import error".
In my environment
Python2.6.6 Eclipse3.7 PyDev2.2.2
Errors are.
> Unresolved import: pycassa -> import pycassa Unresolved import:
> WebSocketHandler -> from geventwebsocket.handler import
> WebSocketHandler Unresolved import: tweepy -> import tweepy
Is there any helpfull information?

Had the same problem. In the end I was able to fix the problem by deleting my old interpreter in Preferences > PyDev > Interpreters, and creating a new interpreter called "python" which had the correct paths. After quitting and reopening eclipse, pydev found all my modules.

Probably your PYTHONPATH is not set properly (or if those are libraries in the interpreter, maybe you added them after configuring it).
See: http://pydev.org/manual_101_interpreter.html for references (note the part on forced builtins there as it might be your case).

You get an unresolved import if the required module cannot be found. Modules are searched for in the current working directory and the directories listed in sys.path. Your python cannot find the modules pycassa and tweepy it appears.
Might want to check this: http://klaith.wordpress.com/2009/06/12/pydev-unresolved-import-errors/

I solved by recreate the interpreter. There is a guide at pedev.org:
What if I add something new in my System PYTHONPATH after configuring
it?
If you add something to your python installation, you need to either
add it manually as a 'new folder' in the System PYTHONPATH (if it's
still not under a folder in the PYTHONPATH) or (recommended) remove
your interpreter and add it again, then, press apply.
Note that if you added a library that's already under a folder in the
PYTHONPATH, you have to at least go to the interpreter preferences and
press apply so that it clears its internal caches (after the
configuration is done, things are set in stone for PyDev)
Thanks for Fabio Zadrozny and nicodjimenez.

I had a similar problem before. I solved the problem by this steps:
1)Window > Preferences > PyDev > Interpreters > Python Interpreter
2)Delete the Python Interpreter path you added previously
3)Add "New" Python Interpreter and choose python.exe path
4)Check Libraries tab (I found the problem at this step.)
Check your path name, is it true or false? Eclipse detect "C:\Python27\lib" but it should be "C:\Python27\libs" and "C:\Python27\Lib".

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.
Check this two links it may be helps to you,
Unresolved Import Issues with PyDev and Eclipse
Unresolved import: models

Is pycassa found as a symlink within a directory on your PYTHONPATH? Pydev apparently has a bug where its code analysis cannot follow symlinks (and hence will not see your libraries). The python interpreter can though of course.

I was having a similar problem with the dbfpy module.
I had downloaded the tar archive and installed the source files in /usr/lib/python2.7/dist-packages
With this I was able to import the packages in IDLE and even run the code in Eclipse. However the pydev import was still showing as an error with the message "unresolved import"
As suggested by Fabio, I checked the PyDev documentation for forced-builtins. Just adding the name of the package ("dbfpy" in my case to the Forced Builtit tab of Python Interpretr in Eclipse) solved the issue.

(I know the answer is a bit late)
if you installed a python package using, for example: pip install django
i solved the unresolved import issue doing this:
In eclipse:
Window > Preferences
In the left panel tree structure go to:
PyDev > Interpreter - Python
In the upper right panel be sure to have the correct interpreted selected
and in the bottom right panel, click New Folder, navigate to your python installation site-packages (usually in c:\Python33\Lib\site-packages) and search for a folder that ends with .egg-info
In my pc it is "C:\Apps\Environments\Python33\Lib\site-packages\Django-1.5.4-py3.3.egg-info" since i installed python in C:\Apps\Environments, should be different in your case.
This worked with django and selenium, should work with all others as well (as far as i know)

Adding the corresponding package folder ending with '.egg-info' to PyDev > Interpreter - Python - library will resolve the problem.
In Linux, it is usually under /usr/local/lib/pythonX.X/dist-packages

Add site-packages path in environmental variables.
Right click on
computer -> properties -> advanced system settings -> Environmental
variables
.
After that is done, remove the python interpreter and add it again in eclipse.
right click project name in
eclipse --> properties --> python interpreter
.
Hope it works.

Related

Import problem with numpy on Eclipse 2018-09

I'm have a problem using numpy with the latest Eclipse 2018-09 and PyDev 7.0.3. I'm using the latest Anaconda Python 3.7.0 which includes numpy version 1.15.1
I believe I have PyDev setup properly as I can run and debug python program that do not use numpy.
Whenever I try to "import numpy as np", I get this error:
ImportError:
Importing the multiarray numpy extension module failed. Most
likely you are trying to import a failed build of numpy.
If you're working with a numpy git repo, try git clean -xdf (removes all
files not under version control). Otherwise reinstall numpy.
Original error was: DLL load failed: The specified module could not be found.
I've found a work-around by adding this single directory to the system path (not the PYTHONPATH):
C:\ProgramData\Anaconda3\Library\bin
I do this outside of Eclipse and need to restart Eclipse after changing the system path.
Hopefully, someone can explain the proper way to configure PyDev so that I don't have to pollute my system path.
Thanks!
I have had to do a half 4 or 5 installs of anaconda python in the last half year, and I think every one has been a struggle to get numpy to work. Today I can remember only the final trick that got me past that error:
This system is clean install of Windows 10, and Eclipse version 2019-12(4.14.0) Build id 20191212-1212. 64bit. In Eclipse the Python interpreter (3.7.6) is working otherwise. And Python loads numpy from a command prompt, just not within Eclipse.
In Eclipse Navigator window, right click on a PyDev project and select properties.
On the left select PyDev - Interpreter/Grammar.
On the right 'Click here to configure an interpreter not listed'. (But this will actually configure the listed interpreter.)
Then click on Open interpreter preferences page.
Now in the left tree, select Pydev / Interpreters / Python Interpreter.
On the right lower, choose the Environment Tab, On the far right lower click Add.
In the New Environment Variable window,
in Name enter PATH
in Value enter \anaconda3\Library\bin
Happyness for me! It worked without having to re-start Eclipse.
I had previously added the same path to the user's PATH in the Windows environment settings, without effect. I had earlier checked 'load conda env vars before run', and have left that checked.
In the interpreter configuration (window > preferences > PyDev > Interpreters > Python interpreter), you should be able to select the interpreter you want, go to the environment tab and set the PATH environment variable to be as you want (so, any launch with that interpreter will use the PATH you specified).
Now, I see you're using Anaconda... have you tried checking the Load conda env vars before load? to see if it fixes it for you? (that appears in the package tab when you select the interpreter).

PyDev doesn't auto-complete my imported modules

I have Eclipse 4.7.3 with PyDev installed. When I import modules from another directory (or any for that matter) pydev doesn't show a warning that it can't find the import but it doesn't do autocomplete for functions within that import.
Ex import DataDefines as df and then when using it like df.INSERTFUNCTIONHERE it doesn't give any usefull suggestions for functions found in that file. When I run it, it grabs the imports fine but I want to be able to auto-complete for syntax and spelling reasons. What could be going wrong? I have configured my python interpreter which helped make the program actually run and I have modified settings in Preferences -> PyDev -> Code Completion but now I am stuck.
Are your sources under a source folder?
Have you tried following the getting started?
http://www.pydev.org/manual_101_root.html
If you're not able to figure out from that, please provide a screenshot of your pydev package explorer showing the modules you have and the actual issue on the completion.

Eclipse Blender and PyDev Unresolved import pydevd

I have python installed at:
C:\Users\xxxx\AppData\Local\Programs\Python\Python35-32
My PATH variable is:
C:\Users\xxxx\AppData\Local\Programs\Python\Python35-32\Scripts\;
C:\Users\xxxx\AppData\Local\Programs\Python\Python35-32
And I have this in Eclipse:
And finally I have this -.- (you can see that 'import sys' works:
Ok, I find what was wrong.
First, it is needed to download module, in this case pydevd
Be careful, download not latest (like I did wrong first time) but with version of python it is installed.
In my case it is Python 3.5.3 so I choose:
pydevd-1.3.0-cp35-cp35m-win32.whl
Then install it with pip, it is easy:
pip install C:%where_it_is_downloaded%/pydevd-1.3.0-cp35-cp35m-win32.whl
Then there will be pydevd added to Packages beside pip and setuptools:
And one more thing.
Compare this 2 screens. Path to site-packages has to be changed from lib to Lib.
As a tip, as the debugger is usually only temporarily used, so, you could just use the internal version from PyDev if you're Ok with the unresolved imports and just want to connect the remote debugger to Blender.
You could do that by using the pydevd template (i.e.: write inside PyDev pydevd and press Ctrl+Space and the option which would add it to the PYTHONPATH and then connect to the remote debugger would appear).
See: http://www.pydev.org/manual_adv_remote_debugger.html for more details on the remote debugger.

Unresolved import in pydev

I am a first time user of Python, I have Eclipse (Helios) on Windows XP and Pydev installed and all is well except that when I am following the GAE tutorial for Python
I get the unresolved import error on run_wsgi_app and webapp from
from google.appengine.ext import webapp
from google.appengine.ext.webapp.util import run_wsgi_app
The code runs fine.
I have looked for an answer and added
F:\Program Files\Google\google_appengine\google\appengine\ext and
F:\Program Files\Google\google_appengine\google\appengine\ext\webapp
to be sure to my PYTHONPATH via the Eclipse Python Interpreter interface.
I have removed and re-added the interpreter, pressed Apply, restarted Eclipse but all to no avail.
I am posting this as I am sure many new users with GAE + Python + Eclipse + Pydev would have the same problem.
Regards,
Chris
Add the package parent directory (the first directory with a init.py file)
F:\Program Files\Google\google_appengine
to the PYTHONPATH in Eclipse under the 'External Libraries' tab.
Also beware of a bug in PyDev that does not respect/understand Python namespaces (as opposed to packages). For more info see:
http://sourceforge.net/tracker/index.php?func=detail&aid=3284882&group_id=85796&atid=577329
In general, add the package's parent directory to PYTHONPATH, not the module subdirectories:
F:\Program Files\Google\google_appengine
adding ${GOOGLE_APP_ENGINE}/lib/webapp2-2.5.2 to the "External Libraries" worked for me.
App Engine SDK ver:1.8.2
Python version: 2.7

Most efficient way of setting up a project Pydev PYTHONPATH in Eclipse (Helios)?

I want to add all folders in my Pydev project to PYTHONPATH so that I can reap the benefits of easily seeing unused imports etc. To do this I seemingly have to add all folders manually including the subfolders, one by one. Is there any way to add them all at once (recursively) or am I doing this completely wrong?
Now I right click the project in the Navigator and select Preferences. From there I go to Pydev-PYTHONPATH and finally I can add the folders.
Ok, just to give a proper answer, you should just add the folder(s) that you want to be in the PYTHONPATH as your source folder(s).
So, if you have a structure such as
/myproject
/myproject/src
/myproject/package
/myproject/package/__init__.py
/myproject/package2
/myproject/package2/__init__.py
You'd only want to add /myproject/src as your PYTHONPATH.
If you really had multiple folders to add there, you could edit the .pydevproject file (which is at the root of your project) and add multiple folders there at once (although as noted, you should only have few folders there, so, this is generally not needed -- although sometimes you may want that if you're adding multiple libraries to a folder or something alike).
The PyDev FAQ explains this properly on the items listed below:
How do I import existing projects/sources into PyDev?
How do I import existing projects/sources for a Django project into PyDev?
Check this out, this worked for me.
if you get an error “unresolved import: pydevd” try saving the file ‘manage.py’ first. the error should go away.
If the error persists: you need to make sure pydev is in your PYTHONPATH.
a) Go to Eclipse>Preferences>PyDev>Python Interpreter:
b) Click New Folder> (mac)”/Applications/Eclipse/plugins/org.python.pydev_x.x.x.x/pysrc”
c) Click “Apply” This adds the folder that contains pydevd.py to your PYTHONPATH. Eclipse automatically adds that to your project’s Python Library. This should resolve the problem and you can run it now.
https://djangounchain.files.wordpress.com/2012/12/screen-shot-2013-01-06-at-3-49-02-pm.png
(This should be a Comment to Fabio's answer, but insufficient rep)
(PyDev 2.7.1.2012100913)
Adding folders to the PythonPath does not work for EFS/Remote folders (rse://...)
When you click 'Apply' gives:
An internal error occurred during: "Python Nature: rebuilding modules".
java.lang.NullPointerException