gpt4 book ai didi

python - 如何使用PyCharm进行GIMP插件开发?

转载 作者:太空狗 更新时间:2023-10-29 18:08:36 25 4
gpt4 key购买 nike

我需要为 GIMP 开发一个插件,并希望继续使用 PyCharm 进行 Python 编辑等。

仅供引用,我在 Windows 上。

在指示 PyCharm 使用 GIMP 附带的 Python 解释器之后:

Project interpreter

我还添加了一个路径到 gimpfu.py 以消除 from gimpfu import * 的错误:

enter image description here

这修复了导入错误,即使设置为 Excluded

我尝试将此目录设置为 SourcesResourcesExcluded,但仍然出现诸如 RGBA-IMAGE 之类的常量错误TRANSPARENT_FILLNORMAL_MODE

enter image description here

关于如何将 PyCharm 扭曲成适合 GIMP 插件开发的任何想法?

并没有真正从 PyCharm 运行任何代码,它实际上只是被用作一个很好的代码编辑器,促进修订控制等。

最佳答案

如您所见,此变量是 .pyd 文件的一部分(dll files 对于 Python)。 PyCharm 无法获取此文件内容的签名。

对于 Python 内置函数(如 absallany 等)PyCharm 有它自己的 .py 仅用于签名和文档的文件。如果您单击其中一些功能并转到它的声明,您可以看到它:

enter image description here

PyCharm 将在其文件夹中打开包含以下内容的 builtins.py 文件:

def abs(*args, **kwargs): # real signature unknown
""" Return the absolute value of the argument. """
pass

def all(*args, **kwargs): # real signature unknown
"""
Return True if bool(x) is True for all values x in the iterable.

If the iterable is empty, return True.
"""
pass

def any(*args, **kwargs): # real signature unknown
"""
Return True if bool(x) is True for any x in the iterable.

If the iterable is empty, return False.
"""
pass

如您所见,函数已定义并记录在案,但没有实现,因为它们的实现是用 C 创建的并放在二进制文件中的某个地方。

Pycharm 无法为每个库提供这样的包装器。通常创建 .pyd 文件的人会提供他们的 .py 包装器(例如,PyQt 模块:没有 native python 实现,只有签名)。

看起来 Gimp 没有对某些变量进行这样的包装。我看到的唯一方法是手动创建某种自己的包装器。例如,创建包含以下内容的 gimpfu_signatures.py:

RGBA_IMAGE = 1
TRANSPARENT_FILL = 2
NORMAL_MODE = 3

并在创建插件时导入它:

from gimpfu import *
from gimpfu_signatures import * # comment on release

不优雅,但总比没有好。

...

关于 gimpfu.py 路径的更多注意事项。如果我理解正确的话,你只是将这条路径添加到项目中。它可能有效,但正确的方法是将它添加到项目的 PYTHONPATH(在项目首选项中)。参见 this link详细手册。

关于python - 如何使用PyCharm进行GIMP插件开发?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35819129/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com