Version 43 (modified by 13 years ago) ( diff ) | ,
---|
Table of Contents
Developer Guidelines - Eclipse
Eclipse is a full IDE supporting Debugging & Code Completion.
PyDev is an Eclipse module which supports Python.
Installation
An Eclipse install with PyDev included is available in the 75Mb zip file which also includes Web2Py & Eden:
or install manually:
- Install Java JDK
- Install Eclipse (setup for 3.6 is documented below):
- Look for "Latest release" on the downloads page.
- (For Linux, and also
apt-get install eclipse-platform
but may get old version.)
- If using JDK 6u21: modify eclipse.ini
- Install PyDev through Eclipse:
- Help menu > Install New Software
- Work with: http://pydev.org/updates
- Add, OK
- tick PyDev (can exclude the optional PyDev Mylyn Integration), Next, Next, Accept, Finish
- tick to trust certificate, Restart now
- Recommend installing Psyco to speed-up Python in Eclipse:
- Linux: http://psyco.sourceforge.net/
- Windows: http://www.voidspace.org.uk/python/modules.shtml#psyco
Configuration
- Set up the Python Interpreter:
- Window > Preferences > PyDev > Interpreter - Python
- New, Browse to python26/python.exe (or python27/python.exe if using 2.7), OK, OK
- Add a new PyDev Project:
- File > New > Project > PyDev Project > Next
- untick Use Default
- Browse to the web2py directory
- Give the project a name, e.g.: "web2py", Next
- untick "Create default 'src' folder and add it to the pythonpath"
- Debug Configuration: Run > Debug Configurations > Python Run
- Name: Enter a name, e.g. web2py or eden.
- Project: Browse to web2py
- Main Module: Browse to web2py.py
- Arguments tab: Program Arguments: -a password (Choose a password for web2py and substitute it for "password".)
- Apply, Debug
- unblock in Windows Firewall
- If you want a HTML and JS editor (with syntax highlighting) in Eclipse:
- Help menu > Install New Software
- Work with: http://download.eclipse.org/releases/helios
- Add, OK
- Select
Web, XML and Java EE Development
- (If present) select
Web Tool Platform
- (If you get a conflicting dependency error, deselect the problem tool.)
- Tick to trust certificate, Restart now
- Miscellaneous suggestions:
- Right-click on Java perspective in top-right & select Close
- Window > Open Perspective > Other > Debug
- Window > Show View > Expressions
- right-click on toolbar > Customise Perspective > untick PyDev Debug, Run & External Tools
- Window > Preferences > General > Editors > File Associations > *.html
- If Text Editor is not in the list of associated editors: Add (lower one), Text Editor, OK.
- Select Text Editor, click default, OK.
- Select Web Page Editor, remove, OK.
- Select Web Browser, remove, OK.
- Window > Preferences > General > Editors > Text Editors
- tick Show line numbers
- tick Show Print Margin and set the margin to 80 (to assist in our vain attempt to keep within that width)
- Window > Preferences > General > Workspace
- tick 'Refresh on access'
- untick 'Build automatically'
- You may want to change the layout of the window by dragging sections to convenient regions of the window and resizing them. Combine less-used sections as tabs in the same region.
Debugging with Eclipse
- Set and remove breakpoints by double clicking in the margin of the code file
- Click the 'Debug Sahana Eden' button
- F5 Step into functions
- F6 Step over lines
- F7 Step out of functions
- Use expressions (drag and drop from code) or right-click > watch
Accessing private data
Some data is marked as private to let other developers know they shouldn't access this directly
- e.g. in
s3xrc.py
we haveS3Resource.__set
&S3Resource.__query
This then means that Eclipse can't see these attributes as self.__set
, etc.
Instead need to use:
xxx._ClassName__AttributeName
e.g.:
resource._S3Resource__query resource._S3Resource__set
Bzr integration (optional)
- http://wiki.bazaar.canonical.com/BzrEclipse
bzr checkout --lightweight lp:bzr-xmloutput cd bzr-xmloutput python setup.py install cd ..
Related Links
Other Configuration Guides (should not be required):
- http://kollerie.wordpress.com/2009/04/07/setting-up-your-ide-for-web2py-development/
- (Simpler Instructions) http://allisterx.blogspot.com/2009/06/using-web2py-framework-on-eclipse.html
Note:
See TracWiki
for help on using the wiki.