What is PyDev?
PyDev is a Python IDE for Eclipse, which may be used in Python, Jython and IronPython development.
It comes with many goodies such as:
For more details on the provided features, check the Features Matrix.
First time users are strongly advised to read the Getting started guide which explains how to properly configure PyDev.
The recommended way of using PyDev is bundled in LiClipse, which provides PyDev builtin as well as
LiClipse you directly support the development of PyDev).
If you'd like to analyze the performance of your programs, check PyVmMonitor.
Release 10.0.1 (2022-10-28)
- Fixed issue parsing exception groups on Python 3.11.
- Fixed issue which prevented JDT (Java) files from being opened in the Project Explorer.
- A better error message is shown when using an unsupported Python version.
- Updated Linux DLLs to fix PyInt_FromLong not found in Python 3.11.
- Consider that paths are not case sensitive on Mac OS.
Release 10.0.0 (2022-10-01)
- Only Python 3.6 onwards is now supported
- Python 3.11 is now supported
- Python 2.7 support is now dropped (please use PyDev 9.3.0 if you need Python 2.7).
- Type inference
- PyDev will now use typeshed by default.
- It will still fallback to builtins introspection when needed.
- Many improvements were done in the area which should result in better code-completion and find definition in general.
- When evaluating slow repr a note is shown related to the environment variable which should be used to customize it.
- Silence warning given when debugging gevent.
- It's now possible to use pydevd in DAP mode directly.
- All the items in tuples and lists can now be seen when expanding.
- Chained exception frames are shown in the in stack.
- The cause message on chained exceptions is properly shown.
- ctypes arrays are properly enumerated when debugging.
- The debugger is cleared after fork in non-python process.
- Top-level async is supported when evaluating in debugger/console.
- Step in/step over support for IPython.
- "PYDEVD_IPYTHON_COMPATIBLE_DEBUGGING" = "1" needs to be set in the environment when debugging IPython.
- Properly stop at line 1 in frame eval mode.
- Properly consider that argv may be None.
- Use tokenize.open to open file stream (to avoid EncodingWarnings with PYTHONWARNDEFAULTENCODING).
- Protect against exception in linecache.getline.
- Auto-attach to subprocess with .zip targets.
- It's now possible to resolve symlinks when sending paths to the client.
- Warnings when evaluating in repl are shown.
- Errors with conditional breakpoints are clearer.
- Breakpoint log messages are now printed when stepping too.
- frame.f_locals is no longer called multiple times when assigning locals after evaluation.
- If pandas has lower defaults for repr, use them.
- Handle case where client may send files with different casing.
- Fixed segfault attaching debugger to a running process.
Release 9.3.0 (2022-03-05)
- Fixed issue where the variable children wouldn't expand correctly.
- Fixed some case where automatic connection to subprocesses wouldn't work.
- Debugging with Pandas is much improved with the addition of some custom converters.
- Opt-in support to show paused greenlets by setting GEVENT_SHOW_PAUSED_GREENLETS=1.
- Support for newer versions of gevent.
- Information on user settings paths is cached to fix issue with slow debugging using pipenv project.
- A warning is shown if getting some attribute / getting its repr is slow.
- Interactively inspect matplotlib plots when the QtAgg backend is used.
- Support for PySide2.
- Better error messages in case Python 3.11 frozen modules are being used.
- Note: this will be the last debugger version supporting Python 2.7.
- Newer releases will target only Python 3.6 onwards.
- Fix for case where indexing could fail to account for namespace folders.
View release notes for previous releases