在中使用Python Mari

介绍

Mari使用Python 2.7.13和Unicode字符集(UCS)4。

大多数Mari的功能是通过使用管理器对象来实现的,例如mari.projectsmari.menus , 等等。

评论Mari的Python文档

1.   要查看HTML文档,请参见Mari的Python API,请选择Python > DocumentationMari
2.   要查看示例Python脚本,请转到Media/Scripts/examples的子目录Mari应用程序目录并打开任何.py文件放在文本编辑器中。您还可以在以下页面中查看这些示例脚本的结果: Python菜单中Mari

注意:  在命令行中执行Python“ help”命令Python Console还可以在Web浏览器中启动HTML文档。

小费:  要了解有关Python的更多信息,查看其文档或与其他Python用户进行交互,您还可以访问Python编程语言官方网站,网址为http://www.python.org/

使用Python控制台面板

MariPython 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

在Python控制台中评估代码的特定部分。

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