For SPKGs like networkx-1.0.1.spkg
, which installs a bunch of Python modules, the end up being stored in either $SAGE_ROOT/local/lib/python
or $SAGE_ROOT/local/lib/python/site-packages
. This is the "normal" place for Python modules to live, and it is one of the places that Python looks for modules when you try to import them. ( Do import sys; print sys.path
to see all of the places where Python looks. ) If you change these files, then the changes will be active the next time you load the module. If you've already loaded it and don't want to restart Sage, then you have to use the reload
command -- see reload?
.
For modifying .py files in the Sage library, you should edit the files in $SAGE_ROOT/devel/sage/
. This is covered in the section Modifying Sage Source Code in the Sage Developer's Guide.
If you have a particular package in mind, then I could give you a more specific answer.