【发布时间】:2018-10-06 21:29:33
【问题描述】:
我试图在 python 文件中导入一个 sage 包(var)
from sage.all import var
但是当运行文件时我得到这个错误:
Error
Traceback (most recent call last):
execfile("/home/sagefolder/SageMath/myapp/core/test.py")
File "/home/sagefolder/SageMath/ubbr/engine/test.py", line 20, in <module>
from sage.all import var
File "/home/sagefolder/SageMath/local/lib/python2.7/site-packages/sage/all.py", line 71, in <module>
from sage.env import SAGE_ROOT, SAGE_SRC, SAGE_DOC_SRC, SAGE_LOCAL, DOT_SAGE, SAGE_ENV
File "/home/sagefolder/SageMath/local/lib/python2.7/site-packages/sage/env.py", line 123, in <module>
_add_variable_or_fallback('SAGE_ETC', opj('$SAGE_LOCAL', 'etc'))
File "/home/sagefolder/SageMath/local/lib/python2.7/site-packages/sage/env.py", line 103, in _add_variable_or_fallback
value = sep.join(components)
TypeError: sequence item 0: expected string, NoneType found
我的猜测是问题与环境路径有关。但即使
sys.path.append('/path/to/the/sage/')
没用
似乎一些环境变量的值有问题,如“SAGE_ROOT”和......但根据installation manual,如果我设置了符号链接
ln -s /path/to/SageMath/sage /usr/local/bin/sage
然后自动处理所有必需的环境变量。
这个模块是从 django views.py 调用的,它也作为 Sage 包安装。如果我运行模块 使用
sage test.py
一切正常,但是当从 django 视图调用它时,它也作为 sage 包安装,我得到了提到的错误
如果有人可以帮助我,我会很高兴,因为我正在做一个重要的项目,我真的需要使用 sage。
【问题讨论】:
-
你没有得到
ImportError,所以我认为这不是路径问题。您是否设置了所需的 Sage 环境变量? -
@JohnGordon。你能解释一下我该怎么做吗?根据安装指南。 doc.sagemath.org/html/en/installation/… 。只需要创建硬链接。
标签: python django environment-variables ubuntu-16.04 sage