文章目录

  • 第四章 使用嵌入式 Python (一)
  • 预备知识
  • 运行嵌入式 Python
    • 从Python Shell
      • 从终端启动 Python Shell
      • 从命令行启动 `Python Shell`

第四章 使用嵌入式 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 = USERC:\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(一)相关推荐

  1. python实验题第四章_「Python」2020.03.16学习笔记 | 第四章列表、元组、字典-习题(11-13)...

    学习测试开发的Day74,真棒! 学习时间为1H 第四章列表.元组.字典-习题(11-13) 11.求两个集合的交集和并集 代码 list1=[1,2,3,4] list2=[2,3,5,5] def ...

  2. python编程快速上手第四章_《Python编程快速上手——让繁琐的工作自动化》读书笔记 第四章 列表...

    接下来我们来学习 python 中的列表(有点像 Java 中的数组,但并不是数组) "列表"是一个值,它包括多个字构成的序列,术语"列表值"指的是列表本身(它 ...

  3. python教材答案第四章_《Python编程:从入门到实践》 第4章习题

    #4-1比萨:想出至少三种你喜欢的比萨,将其名称存储在一个列表中, #再使用for循环将每种比萨的名称都打印出来. pizza_toppings =['Durian','Bacon','Shrimp' ...

  4. python语言程序设计基础答案第四章_《Python语言程序设计基础》第四章笔记

    4.1 程序的分支结构 4.1.1 单分支结构 if : if True: print("条件正确") 4.1.2 二分支结构 if : else : if True: print ...

  5. python从入门到实践答案第四章_《python从入门到实践》--第四章基本操作列表 重点及课后练习...

    题目: 4-1 比萨 :想出至少三种你喜欢的比萨,将其名称存储在一个列表中,再使用for 循环将每种比萨的名称都打印出来. 修改这个for 循环,使其打印包含比萨名称的句子,而不仅仅是比萨的名称.对于 ...

  6. 第四章:用Python对用户的评论数据进行情感倾向分析

    文章目录 项目背景 获取数据 情感倾向 senta_bilstm 模型 情感划分 数据描述 数据分析 总体评论倾向 评论分布 各分布的情感倾向 评论分词 去除停用词 绘制词云图 结论 本文可以学习到以 ...

  7. python selenium 自动化 第四章-实用selenium+python实现web自动化测试第四节

    checkbox checkbox1 checkbox2 checkbox3 radio radio

  8. python 字典排序成绩_集体备课第四章 python基础与顺序结构

    第四章   第一节 python基础 填写上机记录:日期:9.28 班级:  节次:5     内容:python基础 下课时,整理好座椅后,再离开. 1.数据类型: 数字(整数(int).float ...

  9. 【正点原子MP157连载】 第四章 开发环境搭建-摘自【正点原子】【正点原子】STM32MP1嵌入式Linux驱动开发指南V1.7

    1)实验平台:正点原子STM32MP157开发板 2)购买链接:https://item.taobao.com/item.htm?&id=629270721801 3)全套实验源码+手册+视频 ...

最新文章

  1. 车辆检测--DAVE: A Unified Framework for Fast Vehicle Detection and Annotation
  2. SQL基础【一、SQL简介】
  3. python中fetchall_Python连接MySQL并使用fetchall()方法过滤特殊字符
  4. Web框架——Flask系列之请求上下文与应用上下文请求钩子Flask-Script扩展命令行(十七)
  5. pandas重新设置列索引_python数据分析包Pandas(一)
  6. cad怎么倒圆角_CAD哪些技巧是菜鸟必备,哪些又让你相见恨晚?
  7. 音频信号转为开关控制信号_如何使用模拟开关动态切换音频和视频信号
  8. linux马达驱动程序,一种Linux系统的微型针式打印机及其驱动方法与流程
  9. LeetCode #780 - Reaching Points
  10. 玩转微信营销和推广的10种方法和技巧
  11. Kafaka的消息消费方式
  12. 针对Object和Array深拷贝处理
  13. [编程题] 头条校招
  14. 用iPhone前摄3D人像建模,Meta:我看行
  15. 知识图谱用于推荐系统问题(MKR,KTUP,KGAT)
  16. layim之修改群聊头像
  17. 记阿里UC跟cvte社招面试-----都挂了~
  18. 手机信号延迟测试软件,使用Fing在手机上诊断网络状况
  19. 前端开发工程师css样式进阶指南
  20. 智能台球计费android,中科台球厅智能计费管理系统

热门文章

  1. 大学计算机入学教育心得1000,大学课程心得体会范文大全1000-大学入学教育心得体会1000字,怎么写?...
  2. autojs之彩色下拉框
  3. 《增广贤文》全文解释
  4. Jenkins 安装简体中文语言包
  5. 读易[7]·我们的“盖茨”梦(渐卦)
  6. 再谈产品体验生态 | 半兽人药剂师
  7. android字体有些显示不正常显示,android系统字体调到超大后显示不全
  8. 区块链技术的分析与应用
  9. Elasticsearch常用术语
  10. AIX 6.1 安装 Oracle 11.2.0.4 ASM RAC PSU 最佳实践