无法在同一目录中导入.sage文件

时间:2016-02-10 00:52:43

标签: sage

我有Sage文件,名为" a.sage"和" b.sage"在同一目录中,a.sage包含来自b import blah"的行"。但是,当我跑步时,他们会跑上去。从命令行,我得到" ImportError:没有名为b"。

的模块

我已经尝试过预先准备b.sage并尝试添加'。'到我的.bashrc文件中的SAGE_PATH结尾。无法找到更多建议。我很感激有人帮忙解决这个问题,因为我要把头发拉出来!

1 个答案:

答案 0 :(得分:2)

问题是.sage文件不是Python模块。

Traceback (most recent call last):
  File "a.sage.py", line 3, in <module>
    from b import foo
ImportError: No module named b

如果你想以这种方式导入模块,我认为你需要制作一个 Python 模块。

$ mv b.sage b.py
$ sage a.sage
hi

但是,您需要在Python文件中根据需要从Sage导入内容,例如: from sage.all import ZZ

来自@Dima Pasechnik的非常有用的信息:

您可以通过执行生成Python文件sage b.sage的{​​{1}}来交替执行此操作,您需要将其复制到b.sage.py(或者更好,创建一个符号链接,即{{1} } - 你只需要这样做一次)。现在b.py将有效。