使PyCharm识别Sage python解释器
最近需要阅读 AES 的 Sage 数学库里面 的Python实现代码《rijndael_gf.py》
从 Sage 命令行,到 Jupyter Notebook ,再到 JupyterLab,感觉还是不过瘾
为啥?因为对于KY数学刚过线的人来说,没有好的调试器,怎么写代码?
于是乎 =====> 网上一搜,还果然实现了 PyCharm 调试 Sage 数学库 的 Python 源代码的方法,在此 Mark 一下!
网上该问题的解决方法是 sagemath.org 论坛里面的:
https://ask.sagemath.org/question/39742/make-pycharm-recognise-the-sage-python-interpreter/
翻译过来:
我发现最简单的方法是首先在Windows环境中设置一些永久性环境变量。这可以通过Windows中的GUI或cmd控制台来完成。设置必要变量的控制台命令为:
setx Path "%Path%;C:\Program Files\SageMath 8.1\runtime\opt\sagemath-8.1\local\lib;C:\Program Files\SageMath 8.1\runtime\opt\sagemath-8.1\local\bin;C:\Program Files\SageMath 8.1\runtime\bin;C:\Program Files\SageMath 8.1\runtime\lib\lapack"
setx SAGE_ROOT /opt/sagemath-8.1
setx SAGE_LOCAL /opt/sagemath-8.1/local
setx DOT_SAGE /dot_sage
可能还应该设置其他一些设置,但这是我发现让Sage的Python解释器在PyCharm中愉快地工作所必需的最低限度。
然后,我们需要正确地将Sage的Python解释器添加到PyCharm的可用解释器列表中。在“欢迎”屏幕上,单击小“配置”齿轮,然后从菜单中选择“设置”:
在设置页面中,选择“项目解释器”-您可以在此处添加其他解释器以在整个项目中使用。对于可能已经存在的解释器,此处显示的内容可能有所不同。
单击可用口译员的下拉列表旁边右上角的小齿轮图标,然后从菜单中选择“添加本地”。然后从解释器类型列表中选择“系统解释器”:
浏览到下的python2.7.exe可执行文件C:\Program Files\SageMath 8.1\runtime\opt\sagemath-8.1\local\bin(或者您可以直接将此路径复制到文件浏览器中):
如果您设置了正确的环境变量,PyCharm应该能够成功执行Sage的Python解释器,并填充为该解释器安装的软件包列表,您将看到类似以下的内容:
如果您没有Path正确设置环境变量,那么您将在此处收到错误消息(它可能显示“权限错误”或类似的内容)。这是因为Windows使用Path环境变量来搜索DLL,并且需要添加正确的路径才能找到Cygwin DLL。否则,解释器可执行文件甚至无法启动。如果发生这种情况,您仍然可以继续添加该解释器,但是只有设置了必要的环境变量后,该解释器才起作用。
然后,当您开始一个新项目时,请确保选择Sage Python作为默认解释器(您也可以将它与virtualenv一起使用,但我没有尝试过-如果您确保它继承了系统站点-packages,否则您就无法获得Sage等。)一般而言,我认为没有必要:
最后,PyCharm还允许您设置环境变量,以在几个不同的位置按项目运行解释器。您可以在“运行”配置中配置环境变量,然后在控制台设置中再次(单独地,不幸地)进行配置。这实际上是我最初所做的-我只是在PyCharm中设置了Path,SAGE_ROOT等等,效果也很好。但是我发现在环境中永久设置环境变量更为简单。然后事情就“奏效”。
请注意,这仍然只是普通的Python解释器,而不是Sage解释器,因此它不知道如何运行.sage文件,也不知道Sage语法。
但是您应该能够 from sage.all import * 在普通的Python中使用Sage对象。
我的系统及编程环境是: Linux + PyCharm + Sage
不多说了,直接上图:
①设置解释器:

②新建项目,两个文件: main.py 和 正在调试修改的 RijindaelGF_JSLS.sage.py 。
注意: 一是 main.py 中: 在第二行 load("RijndaelGF_JSLS.sage.py") 之前, 先加一句: from sage.all import * 导入所有 Sage 库需要的东东!
二是:复制 RijndaelGF.sage 的一个副本, 并将后缀名改为 RijndaelGF_JSLS.sage.py ,否则会报错!

③调试走起!

④下个断点,直接 步进 进去瞅瞅!

最后,再回头看看 之前用的 JupyterLab! Server/Browser 方式:

配置PyCharm以调试Sage数学库的Python源代码
本文介绍了如何使PyCharm识别并使用Sage的Python解释器,包括设置环境变量、添加解释器到PyCharm项目、配置运行环境,以及在调试Sage数学库代码时的注意事项。






460

被折叠的 条评论
为什么被折叠?



