I have been developing a Python program using the Pydev(2.5.0) plugin in Eclipse Helios on Ubuntu OS 11.4.
The program uses lucene (core 3.6) library. Lucene was installed using jcc.
Previously I developed it with a text editor and ran on the command line using python xxx.py and there was no problem regarding lucene libraries.
Then, I imported the project to Eclipse IDE. The other source files still run as-is, but the program cannot locate the basic classes of lucene library.
import lucene # no error
but if I try to import StandardAnalyzer or any other class, I get an error:
from lucene import StandardAnalyzer #error: unresolved import
My configuration:
Grammer Version: 2.7
Python interpreters: usr/bin/python2.7
Libraries include:
I tried the add the lucene folder to the external libraries but it didn't help.
I have found this path by using command line python interpreter with these commands.
import lucene
print lucene.__path__
Though a similar path is already in the library (see image. 2nd library)
['/usr/local/lib/python2.7/dist-packages/lucene-3.6.0-py2.7-linux-i686.egg/lucene']
I would appreciate your comments about this problem. Thanks.
I think that the problem is that the PyDev code-analyzer can't really analyze PyLucene. You can try adding 'lucene' to window > preferences > pydev > interpreter - python > forced builtins (see: http://pydev.org/manual_101_interpreter.html for details).
Had the same problem running Helios Service Release 2 on Mac OSX 10.8.5. Fixed it as follows:
Open Project >> Properties
Select PyDev - Interpreter/Grammar
Click "Click here to configure an interpreter not listed"
Select your interpreter
Select "Forced Builtins" and add all three directories (lucene, org and java) (see http://pydev.org/manual_101_interpreter.html for details).
Select "Libraries" and add the path to each of those directories to System libs.
Related
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).
Our company used to use Eclipse for all kinds of python development. We can create PyDev, GAE, or Django projects, but how do we create a Mezzanine project in Eclipse? There seems very little document about it.
Miles Clark has answered this question over here. The releveant part is:
Working with eclipse/pydev (not aptana, but it should be very similar), I normally create the project outside of eclipse and import it. Roughly the steps are:
Create a virtualenv (I use virtualenvwrapper for this). I include system site packages because I've found it easiest to install python-imaging and psycopg2 through the Ubuntu package manager rather than in each virtualenv. I then install Mezzanine into the virtualenv, and create the project using the command line as described in the docs.
Once that's done, I'll create an interpreter entry in PyDev for the new virtualenv (Window > Preferences > PyDev > Interpreter - Python) and then import the project into eclipse. Normally, I'll setup the new project in git and then import the git repo, but you can import without that if you'd like. Choose pydev project, and make sure & choose the new interpreter that you created.
There's normally a little setup once the project's created in PyDev. Make sure the project is marked as a Django project, and then see "Project Source Folders" in Properties > PyDev - PYTHONPATH and the two settings in Properties > PyDev - Django.
I checked out twisted source code form svn and opened it using eclipse as a Python project. But I also have twisted installed in my system under /usr/lib/python2.6/dist-packages. So the imports in the source code imports the installed version and not the version I checked out from svn.
How can I remove the installed version from the libraries that PyDev searches?
Removing /usr/lib/python2.6/dist-packages from PYTHONPATH is not an option because twisted depends on some of the libraries in that directory ( such as serial library )
When you make a launch in PyDev, it should add the PYTHONPATH of the project(s) before the PYTHONPATH of the interpreter, so, if you create a project with the twisted source code and set the PYTHONPATH (i.e.: source folder) for that project properly, it should find it before the one in the interpreter.
Note that other projects should reference the twisted project you configured in order to access it.
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.
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