美文网首页js css html
第四章 使用嵌入式 Python(一)

第四章 使用嵌入式 Python(一)

作者: Cache技术分享 | 来源:发表于2022-07-14 08:40 被阅读0次

    第四章 使用嵌入式 Python (一)

    嵌入式 Python 允许使用 Python 作为编程 IRIS 应用程序的本机选项。

    预备知识

    使用嵌入式 Python 所需的 Python 版本取决于运行的平台。

    在 Microsoft Windows 上,IRIS 安装工具包安装正确版本的 Python(当前为 3.9.5),仅用于嵌入式 Python。如果在开发机器上并希望将 Python 用于一般用途,建议从 https://www.python.org/downloads/ 下载并安装相同的版本。

    许多基于 UNIX 的操作系统都安装了 Python。如果需要安装,请使用包管理器为操作系统推荐的版本,例如:

    • macOS:使用 Homebrew 安装 Python 3.9 (https://formulae.brew.sh/formula/python@3.9)
    • Ubuntu: apt-get install python3
    • Red Hat Enterprise Linux or Oracle Linux: yum install python3
    • SUSE: zypper install python3

    如果收到“无法加载 python”的错误,这意味着没有安装 Python,或者系统上安装了意外版本的 Python。使用上述方法之一安装或重新安装。

    在基于 UNIX 的系统上,可能希望使用 pip3 命令安装 Python 包。如果尚未安装 pip3,请使用系统的包管理器安装包 python3-pip

    要防止在运行 Embedded Python 时出现 IRIS_ACCESSDENIED 错误,请启用 %Service_Callin。在管理门户中,System Administration > Security > Services,选择 %Service_CallIn,然后选中启用服务框。

    运行嵌入式 Python

    本节详细介绍了运行 Embedded Python 的几种方法:

    从Python Shell

    可以从终端会话或命令行启动 Python shell

    从终端启动 Python Shell

    通过调用 %SYS.Python 类的 Shell() 方法,从 终端会话启动 Python shell。这将以交互模式启动 Python 解释器。终端会话中的用户和命名空间被传递给 Python shell

    通过键入命令 quit() 退出 Python shell

    以下示例在终端会话中从 USER 命名空间启动 Python shell。它打印斐波那契数列中的前几个数字,然后使用 IRIS SYSTEM.OBJ.ShowClasses() 方法打印当前命名空间中的类列表。

    USER>do ##class(%SYS.Python).Shell()
     
    Python 3.9.5 (default, Jul  6 2021, 13:03:56) [MSC v.1927 64 bit (AMD64)] on win32
    Type quit() or Ctrl-D to exit this shell.
    >>> a, b = 0, 1
    >>> while a < 10:
    ...     print(a, end=' ')
    ...     a, b = b, a+b
    ...
    0 1 1 2 3 5 8 >>>
    >>> status = iris.cls('%SYSTEM.OBJ').ShowClasses()
    User.Company
    User.Person
    >>> print(status)
    1
    >>> quit()
     
    USER>
    

    方法 %SYSTEM.OBJ.ShowClasses() 返回一个 IRIS %Status 值。在这种情况下,1 表示未检测到错误。

    注意:使用 %SYS.Python 类的 Shell() 方法运行 Python shell 时,不需要显式导入 iris 模块。继续使用该模块。

    从命令行启动 Python Shell

    使用 irispython 命令从命令行启动 Python shell。这与从终端启动 shell 的工作方式大致相同,但必须传入 IRIS 用户名、密码和命名空间。

    以下示例从 Windows 命令行启动 Python shell

    C:\InterSystems\IRIS\bin>set IRISUSERNAME = <username>
    
    C:\InterSystems\IRIS\bin>set IRISPASSWORD = <password>
    
    C:\InterSystems\IRIS\bin>set IRISNAMESPACE = USER
    
    C:\InterSystems\IRIS\bin>irispython
    Python 3.9.5 (default, Jul  6 2021, 13:03:56) [MSC v.1927 64 bit (AMD64)] on win32
    Type "help", "copyright", "credits" or "license" for more information.
    >>>
    

    在基于 UNIX 的系统上,使用 export 而不是 set

    /InterSystems/IRIS/bin$ export IRISUSERNAME=<username>
    /InterSystems/IRIS/bin$ export IRISPASSWORD=<password>
    /InterSystems/IRIS/bin$ export IRISNAMESPACE=USER
    /InterSystems/IRIS/bin$ ./irispython
    Python 3.9.5 (default, Jul 22 2021, 23:12:58)
    [GCC 9.4.0] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>>
    

    注意:如果尝试运行 import iris 并看到一条消息说 IRIS_ACCESSDENIED,请启用 %Service_Callin。在管理门户中,转至 System Administration > Security > Services,选择 %Service_CallIn,然后选中启用服务框。

    相关文章

      网友评论

        本文标题:第四章 使用嵌入式 Python(一)

        本文链接:https://www.haomeiwen.com/subject/zyexirtx.html