构建编译的鼠尾草脚本

时间:2019-11-23 17:32:33

标签: cx-freeze sage

我正在尝试使用cx_Freeze编译一个sagemath脚本。 (我想将其用作基于Web的AJAX同源性计算器的后端。)这有可能吗?

我可以通过以下操作在鼠尾草中安装cx_freeze:

Build Book

(我必须手动下载该软件包,以避免出现一些SSL错误)

准备编译时,请使用以下安装脚本:

sage -pip install ~/Desktop/cx_Freeze-5.1.1

然后我像这样编译: from cx_Freeze import setup, Executable includes = ["sage.all"] setup(name = "c1homology" , version = "0.1" , description = "" , executables = [Executable("c1homology.sage")], options = {"build_exe": {"includes": includes}} )

,并且一次又一次地导入相同的内容之后,构建失败并显示“超出了最大递归深度”。我认为这是因为我在sage中构建时将sage.all作为包含项列出,这导致了一些递归导入。

如果我从包含中删除sage c1homologysetup.py build,那么它可以正常编译,但是当我运行可执行文件时,它无法识别任何sage命令。具体来说,我看到了sage.all。 (vector是我在.sage文件中使用的第一个实际的sage命令)

有什么建议吗?还是我有更好的方法来完成这一切?我可以直接运行sage脚本而不进行编译,但是加载所有的sage库需要花费很多时间-我希望编译可以使其更快。 (脚本本身执行的实际计算非常快。)

我正在使用MacOS 10.11.6,Sage 8.7。

0 个答案:

没有答案
相关问题