In python imports are relative by default, so "import sage" does not
mean what you think. I think long ago I hacked around this problem
for just typing "sage" to start sage, by making it change to a
different directory during startup. (I vaguely recall doing that
specifically to get Sage to work on Cygwin, actually.)
So I think the above should be considered a bug, and you should
definitely report it to trac. Probably the fix is to change the
directory during part of Sage startup, to thwart Python's relative
import system.
William
These recent path errors have bitten me too; always, the solution has
been to run the programs from a different directory. Looks like we
need to get to the bottom of this.
Nick
Python has always worked this way.
The problem is that if you're in a directory and it contains a
directory foo (with a file __init__.py in it), and you type into a
python session "import foo", then the code in the directory foo is
imported, even if there happens to also be a foo in site-packages.
The code in the local directory takes precedence. In the above
example, there's no sage_object, since it's a Cython module, so the
.so file doesn't exist in the sage directory (it's in the
site-packages directory).
-- William