Can't run Python script in Sage, error at import sage.all
I only just figured out how to run Sage in a daemon/service-like kind of state - see http://ask.sagemath.org/question/2343... for the Sage script.
Now I'm trying to rewrite it to Python with Sage imports, so I can automatically start it with sage -python [PATH TO PYTHON FILE]
as opposed to manually starting Sage and loading the script.
The fails with the following stack trace
Traceback (most recent call last):
File "socket.py", line 1, in <module>
import socket
File "/var/www/lingapps/assets/sage/socket.py", line 4, in <module>
import sage.all
File "/var/www/lingapps/assets/sage/local/lib/python2.7/site-packages/sage/all.py", line 54, in <module>
from sage.env import SAGE_ROOT, SAGE_DOC, SAGE_LOCAL, DOT_SAGE, SAGE_ENV
File "/var/www/lingapps/assets/sage/local/lib/python2.7/site-packages/sage/env.py", line 84, in <module>
_add_variable_or_fallback('HOSTNAME', socket.gethostname())
AttributeError: 'module' object has no attribute 'gethostname'
This also happens when I have just a single line in the script: import sage.all
.
It also fails with the following error if I just start sage -python
and type import sage.all
:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/var/www/lingapps/assets/sage/local/lib/python2.7/site-packages/sage/all.py", line 54, in <module>
from sage.env import SAGE_ROOT, SAGE_DOC, SAGE_LOCAL, DOT_SAGE, SAGE_ENV
File "/var/www/lingapps/assets/sage/local/lib/python2.7/site-packages/sage/env.py", line 20, in <module>
import os, socket
File "socket.py", line 6, in <module>
import sage.calculus.predefined
File "/var/www/lingapps/assets/sage/local/lib/python2.7/site-packages/sage/calculus/__init__.py", line 1, in <module>
import all
File "/var/www/lingapps/assets/sage/local/lib/python2.7/site-packages/sage/calculus/all.py", line 1, in <module>
from calculus import maxima as maxima_calculus
File "/var/www/lingapps/assets/sage/local/lib/python2.7/site-packages/sage/calculus/calculus.py", line 400, in <module>
from sage.rings.all import RR, Integer, CC, QQ, RealDoubleElement, algdep
File "/var/www/lingapps/assets/sage/local/lib/python2.7/site-packages/sage/rings/all.py", line 21, in <module>
from ring import Ring
File "ring.pyx", line 1, in init sage.rings.ring (sage/rings/ring.c:18156)
File "/var/www/lingapps/assets/sage/local/lib/python2.7/site-packages/sage/structure/__init__.py", line 1, in <module>
import dynamic_class # allows for sage.structure.dynamic_class?
File "/var/www/lingapps/assets/sage/local/lib/python2.7/site-packages/sage/structure/dynamic_class.py", line 119, in <module>
from sage.misc.cachefunc import weak_cached_function
File "cachefunc.pyx", line 421, in init sage.misc.cachefunc (sage/misc/cachefunc.c:17825)
File "function_mangling.pyx", line 39, in init sage.misc.function_mangling (sage/misc/function_mangling.c:3106)
File "/var/www/lingapps/assets/sage/local/lib/python2.7/site-packages/sage/misc/sageinspect.py", line 131, in <module>
from sage.env import SAGE_SRC
ImportError: cannot import name SAGE_SRC
It doesn't work with sage [PATH TO SAGE FILE]
either:
Traceback (most recent call last):
File "socket ...