package - 在 SAGE 8.9 中安装 GAP 包
问题描述
我在 Windows 10 上运行 SageMath 8.9。我想运行以下代码:
gap.eval('LoadPackage("grape")')
gap.eval("n := 5")
gap.eval("grp := Group([ (1,2,3,4,5), (1,2,4,3) ])")
gap.eval("Der := []; for x in grp do if NrMovedPoints(x)=n then AddSet(Der,x); fi; od;")
gap.eval("Cay := CayleyGraph(grp, Der)")
这会引发 RuntimeError。当我运行时:
from sage.features.gap import GapPackage
GapPackage("grape", spkg="gap_packages").is_present()
它表示“葡萄”不可用。所以我想安装它;但是,通过一些在线搜索,我遇到了以下命令:
sage -i gap_packages
但这不起作用,因为 'sage' 没有添加到 PATH 中(而且我不知道该怎么做)。
现在我独立于 Sage 安装了 GAP 4.10.2,它确实安装了“葡萄”。如果我无法将grape安装到sage中,我该如何指导Sage查看另一个安装的GAP?我试过这个(从这里):
import sage.interfaces.gap
sage.interfaces.gap.gap_cmd = "/usr/local/bin/gap"
我将“/usr/local/bin/gap”更改为“C:/gap-4.10.2/bin/gap.bat”,这是我通常启动 GAP 的方式。那没起效。
注意:我已经阅读了这里的解决方案,但它对我不起作用(如上所述)。该用户似乎一直在运行 OSX,而我正在运行 Windows 10。此外,这个问题已经有 7 年历史了,也许该方法已经过时了。其他在线方法(例如在此处找到)似乎已过时。我找不到任何最近的东西(关于 Windows 上的 Sage 版本 8.9)。
对此的任何帮助将不胜感激!
解决方案
如果你能得到一个终端提示,你也许可以./sage -i gap_packages
在 sage 根目录中运行(这会抢占将 sage 添加到 PATH 的需要)。不过我不在 Windows 上使用 Sage,所以我不确定这是否可行。
另一种方法是,您可以将功能间隙安装的包文件夹中的文件夹复制到 Sage 安装中的适当位置。您应该将葡萄文件夹从 复制$GAP_ROOT/pkg
到$SAGE_ROOT/local/lib/gap/pkg/
。
推荐阅读
- html - 在较小的视口宽度处将 4 个 div 对齐为每行 2 个
- python - 在 pandas 数据框标头中删除一个级别
- git - 恢复旧的合并提交文件而不影响后续提交
- windows-10 - 在 Windows 10 命令提示符错误中嵌套 for 循环
- python - 最小最大列返回查找之间的熊猫
- c# - 控制台应用程序已退出,代码为 0 (0x0),尽管发生了未处理的异常
- javascript - 如何将多个 html 文件加载到 Div
- java - “错误:加载主类 src.Readability 时发生 LinkageError”编译和运行 Java 文件
- java - 如何避免在同一行打印两个连续的 System.out.prints?
- swift - 将数据从 UIViewControllerRepresentable 传递给 UIViewController