JMP 18 python pptx 导入似乎不起作用大家好,
我的公司刚刚获得 JMP 18 许可证,由于依赖项,PowerPoint 自动化不再工作。从 JMP 文档中,我了解到 python 现在是一个集成版本,在这种情况下必须通过 jmputils 安装依赖项。以下是我目前拥有的用于 powerpoint 使用的导入的代码。即使通过 list 命令查看依赖项已更新,我仍然收到相同的错误。
scr = Python Execute(
{},
{},
"\[
import jmp
import jmputils
jmputils.jpip('list')
jmputils.jpip('install --upgrade', 'pip setuptools python-pptx')<BR />
from pptx import Presentation #Problem Line
from pptx.util import Inches
from pptx.dml.color import RGBColor
from datetime import date
]\"
);这是我收到的日志错误:

因此,我无法创建和保存演示文稿。如能得到任何帮助,我将不胜感激。谢谢!
自动化和脚本数据访问分享和交流结果视窗回复:JMP 18 python pptx 导入似乎不起作用在 JMP18 中安装 Python 包的方法有很多种( 使用 JSL 安装 Python 包 (jmp.com) )。在安装包的过程中是否出现任何错误?您可以使用 jpip 安装其他包吗?对我来说,运行您的代码似乎运行良好。这些包应该安装到您的 JMP Python 用户目录中,您可以通过在 JMP 中运行以下 python 命令找到它
import jmp
print(jmp.PY_USER_APPDIR)
标记@Paul_Nelson,因为他很可能对可能出现的问题有更多的想法。
回复:JMP 18 python pptx 导入似乎不起作用import jmp
from jmputils import jpip
jpip('list')
jpip('install --upgrade', 'pip setuptools python-pptx')
我运行上述程序得到的结果是:
Requirement already satisfied: pip in c:\users\_myUSERID_\appdata\roaming\jmp\jmp\python\python311\site-packages (24.0)
Collecting pip
Downloading pip-24.1.2-py3-none-any.whl.metadata (3.6 kB)
Requirement already satisfied: setuptools in c:\users\_myUSERID_\appdata\roaming\jmp\jmp\python\python311\site-packages (70.0.0)
Collecting setuptools
Downloading setuptools-70.3.0-py3-none-any.whl.metadata (5.8 kB)
Collecting python-pptx
Downloading python_pptx-0.6.23-py3-none-any.whl.metadata (18 kB)
Collecting lxml>=3.1.0 (from python-pptx)
Downloading lxml-5.2.2-cp311-cp311-win_amd64.whl.metadata (3.5 kB)
Collecting Pillow>=3.3.2 (from python-pptx)
Downloading pillow-10.4.0-cp311-cp311-win_amd64.whl.metadata (9.3 kB)
Collecting XlsxWriter>=0.5.7 (from python-pptx)
Downloading XlsxWriter-3.2.0-py3-none-any.whl.metadata (2.6 kB)
Downloading pip-24.1.2-py3-none-any.whl (1.8 MB)
---------------------------------------- 1.8/1.8 MB 8.3 MB/s eta 0:00:00
Downloading setuptools-70.3.0-py3-none-any.whl (931 kB)
---------------------------------------- 931.1/931.1 kB 4.9 MB/s eta 0:00:00
Downloading python_pptx-0.6.23-py3-none-any.whl (471 kB)
---------------------------------------- 471.6/471.6 kB 5.0 MB/s eta 0:00:00
Downloading lxml-5.2.2-cp311-cp311-win_amd64.whl (3.8 MB)
---------------------------------------- 3.8/3.8 MB 8.1 MB/s eta 0:00:00
Downloading pillow-10.4.0-cp311-cp311-win_amd64.whl (2.6 MB)
---------------------------------------- 2.6/2.6 MB 9.1 MB/s eta 0:00:00
Downloading XlsxWriter-3.2.0-py3-none-any.whl (159 kB)
---------------------------------------- 159.9/159.9 kB 3.2 MB/s eta 0:00:00
Installing collected packages: XlsxWriter, setuptools, pip, Pillow, lxml, python-pptx
Attempting uninstall: setuptools
Found existing installation: setuptools 70.0.0
Uninstalling setuptools-70.0.0:
Successfully uninstalled setuptools-70.0.0
Attempting uninstall: pip
Found existing installation: pip 24.0
Uninstalling pip-24.0:
Successfully uninstalled pip-24.0
Successfully installed Pillow-10.4.0 XlsxWriter-3.2.0 lxml-5.2.2 pip-24.1.2 python-pptx-0.6.23 setuptools-70.3.0
此时
from pptx import Presentation
给出日志
//:*/
from pptx import Presentation
/*:
我会查看日志并调查运行时在日志中看到的内容:
jmputils.jpip('install --upgrade', 'python-pptx')
我觉得您在安装软件包时一定遇到了一些问题,这些问题应该在日志中报告。可能是权限问题;访问互联网,可能是磁盘权限问题,可能是磁盘空间不足,……如果不知道 jpip 向日志报告了什么,就很难追踪。我尝试了 18.1.0 中的上述操作,没有出现任何问题。您是否尝试过关闭 JMP 并重新启动?安装或运行您的脚本时没有出现任何问题。由于我们在这里运行的都是 Python 代码,所以我直接从 Python 脚本窗口运行它,而不是从 JSL 运行Python Submit()或Python Execute() 。JSL 的Pyrthon Install Packages(“python-pptx”)也应该可以工作。它在后台调用 jmputils.jpip()。您还可以下拉到终端级别安装软件包。使用Python Create JPIP CMD();创建定制的命令行 jpip.bat 或 jpip shell 脚本(macOS),该脚本针对您的 JMP 环境进行了定制。运行该命令将启动一个对话框选择器,以选择保存 jpip 脚本的目标目录。从 cmd 窗口/终端运行
c:\path_you_chose\jpip.bat install python-pptx
回复:JMP 18 python pptx 导入似乎不起作用嗨保罗,
我重新启动了 JMP,我提供的代码运行起来非常有趣。我很感谢你提供的详细说明和其他步骤,如果我将来需要的话,我可以使用它们来排除故障。谢谢!
回复:JMP 18 python pptx 导入似乎不起作用嗨,贾莫,
感谢您最初的帮助以及与 Paul 的联系,我很感激您的帮助!
回复:JMP 18 python pptx 导入似乎不起作用应该在前面提到重新启动 JMP。这是自 JMP 18.0 以来的早期修复之一。首次启动时,站点包目录直到需要时才会建立。但是,如果在 Python 初始化之后创建了站点包目录,则 Python 无法识别任何添加的包。一旦建立,您就可以添加新包,JMP Python 集成应该会立即看到它们。这已在 JMP 19 开发分支中得到修复,因为 JMP 本身在 Python 初始化之前建立了站点包目录。这是一个足够大的代码更改,它不在 18 分支中。