在中使用Python Mari
介绍
Mari使用Python 2.7.13和Unicode字符集(UCS)4。
大多数Mari的功能是通过使用管理器对象来实现的,例如mari.projects, mari.menus , 等等。
评论Mari的Python文档
1. | 要查看HTML文档,请参见Mari的Python API,请选择Python > Documentation在Mari。 |
2. | 要查看示例Python脚本,请转到Media/Scripts/examples的子目录Mari应用程序目录并打开任何.py文件放在文本编辑器中。您还可以在以下页面中查看这些示例脚本的结果: Python菜单中Mari。 |
注意: 在命令行中执行Python“ help”命令Python Console还可以在Web浏览器中启动HTML文档。
小费: 要了解有关Python的更多信息,查看其文档或与其他Python用户进行交互,您还可以访问Python编程语言官方网站,网址为http://www.python.org/。
使用Python控制台面板
Mari的Python Console调色板的行为与标准Python控制台非常相似。使用方法如下:
1. | 如果Python Console已经打开,请点击Console标签以使其聚焦;或者,如果它已关闭,请在工具栏顶部的工具栏区域中单击鼠标右键Mari工作区并选择Python Console打开它。您也可以在菜单下找到它View > Palettes。 |
的Python Console分为两个部分。您可以使用下部(输入窗格)输入并执行Python语句,完成后,语句及其输出将显示在控制台的上部(输出窗格)。
2. | 要输入一条语句,请在输入窗格中键入它。输入时Mari提供自动完成建议(如果有)。 |
要使用常用的编辑功能(例如复制和粘贴),请在输入窗格上单击鼠标右键,然后选择所需的功能。
小费: 暂时关闭Mari在Python控制台面板中编写时的自动完成功能,请按Esc 当自动完成字出现时。这只会使其消失,直到您继续输入为止;但是,如果在继续时检测到类似的单词,则会自动出现自动完成功能。
3. | Mari利用输入窗格中的语法高亮显示方案,因此一眼就能识别代码。红色文本表示字符串,深蓝色表示注释,各种Python关键字分别由黄色,品红色和蓝色表示。 |
4. | 要执行该语句,请单击Evaluate按钮或按Ctrl/Cmd + Return. |
您的陈述出现在输出窗格中,前面有>>> (要么...如果您的陈述跨越多行)。
如果输入无效的语句, Mari在输出窗格中产生错误。
小费: 只执行部分代码Python Console,突出显示要执行的代码,然后按Ctrl/Cmd +Shift+Return。
5. | 如果要重复一条语句,可以通过按来向后或向前浏览脚本的历史记录Ctrl/Cmd+Up要么Ctrl/Cmd +Down。 |
6. | 如果要清除输入和输出窗格,请单击Clear按钮。 |
注意: 有时,如果您将语句复制并粘贴到Python Console从另一个来源,例如电子邮件。这可能是由于您复制语句的来源的标记或编码引起的。要解决此问题,请手动重新输入该语句。
小费: 您可以在Python Console按住Ctrl/Cmd然后按+要么-。
7. | 如果要快速打开Mari Python API Help 不用去Python > Documentation菜单上,单击Help在里面Python Console调色板。 |
一个带有Mari Python API Help出现。您可以在该窗口周围移动,并在打开时继续在输入窗格中输入内容。此窗口不能像调色板那样停靠,但您可以在窗口仍处于活动状态时从其更改焦点,这与大多数情况不同。 Mari的对话框。
注意: 如果您在输入框输入Mari Python API Help窗口打开,并且Mari检测到自动完成建议,该建议会显示在Mari Python API Help自动。
保存或导入脚本
如果您希望脚本在启动时自动执行,请执行以下操作:
1. | 在任何文本编辑器中输入脚本。 |
2. | 保存带有扩展名的文本文件.py (例如, my_module.py) 至: |
• 的~/Mari/Scripts的子目录Mari应用程序目录,或
• 通过设置环境变量创建自己的目录MARI_SCRIPT_PATH 到自定义文件夹。
如果脚本称为init.py 存在,它将首先运行。如果您需要脚本以指定的顺序运行,则应将它们放在单独的文件夹中并使用Python import 陈述init.py。
您还可以指定多个目录以使用“ \”分隔的路径列表在启动时运行脚本。:' 要么 ' ; ' 按照您操作系统的标准。
• On Linux:/ home / username / dir1:/ home / username / dir2
• On Windows:C:\ Users \用户名\ dir1; C:\ Users \用户名\ dir2
• On Mac: / home /用户/用户名/ dir1; / home /用户/用户名/ dir2
3. | 的import目录,包含在自定义脚本路径的以下文件夹中: |
• On Linux: /Mari/脚本
• On Windows:文件\Mari\脚本。
• On Mac: /文件/Mari/脚本
保存到此目录的脚本将被导入而不是运行,从而避免了对全局名称空间的不必要污染。如果您将自定义脚本保存到import目录,它将在运行主文件夹中的脚本之前自动导入。
小费: 您希望导入的Python文件和子文件夹,而无需在import 目录必须是__init__.py文件。
加载脚本
通过以下方式加载脚本Script Path输入框:
1. | 手动输入脚本的位置,或者 |
2. | 点击启动Python Script Path 对话框,然后浏览到脚本的位置。 |
3. | 要执行该语句,请单击Evaluate按钮。 |
自定义脚本从import从主文件夹运行脚本之前的目录。Mari使用特定的顺序加载模块,以确保使用Python脚本时程序的正确,完整的功能。
如果由于加载模块顺序而导致现有的启动脚本无法正常工作,则可以通过设置环境变量来恢复到旧的行为MARI_OLD_PYTHON_INIT到除0以外的任何非空字符串。
注意: Mari查找超过250MB的元数据,并丢弃超过该大小的任何内容。此检查是在项目负载上执行的,旨在去除损坏和有问题的数据。这会影响使用Python API添加的元数据。
终端模式
Mari提供了一种终端模式,该模式允许用户在命令行上通过Python Shell访问功能。这类似于Mari GUI或标准Python Shell。终端模式可用于执行管理操作,例如归档项目,导出纹理以及其他不需要用户进行图形交互的任务。
注意: 终端模式不是真正的“无头模式”,因为它仍然需要图形功能才能运行。Mari在启动终端模式时仍会初始化其GUI-只是不会显示它。
如果需要,您可以提供要在命令行上运行的Python脚本的文件名。如果提供, Mari在提供Python Shell输入提示之前运行指定的脚本。也可以在“执行模式”下启动,该模式与终端模式相同,但是在运行提供的脚本之后存在。
要从外壳启动终端模式,请使用以下命令:
在Linux上
cd /path/to/mari
# Normal terminal mode
./mari -t
# Terminal mode - run the script, then show a Python input prompt
./mari -t /path/to/script_name.py
# Execute mode - run the script, then exit
./mari -x /path/to/script_name.py
上Windows
cd \path\to\mari
# Normal terminal mode
Mari4.6v3.exe -t
# Terminal mode - run the script, then show a Python input prompt
Mari4.6v3.exe -t \path\to\script_name.py
# Execute mode - run the script, then exit
Mari4.6v3.exe -x \path\to\script_name.py
在Mac上
cd /path/to/Mari
# Normal terminal mode
./Mari4.6v3 -t
# Terminal mode - run the script, then show a Python input prompt
./Mari4.6v3 -t /path/to/script_name.py
# Execute mode - run the script, then exit
./Mari4.6v3 -x /path/to/script_name.py
使用渲染许可证(可选)
跑步时Mari在执行或终端模式下, Mari默认情况下搜索渲染许可证。渲染许可证允许您使用Mari在没有完整UI体验的无头模式下。如果渲染许可证不可用,则Mari寻找交互式许可证。强迫Mari要使用渲染许可证,请使用以下两个参数之一:
-r
--render
在中使用PySide Mari
Mari随附PySide及其Python脚本引擎。PySide是Qt的Python绑定库,类似于PyQt。有关PySide的更多信息,请访问http://qt-project.org/wiki/PySide。