Như bạn thấy biến này là một phần của .pyd
file (dll files cho Python). PyCharm không thể nhận được chữ ký cho nội dung của tệp này.
Đối với nội trang Python (như abs
, all
, any
, v.v.) PyCharm có riêng tệp .py
chỉ sử dụng cho chữ ký và tài liệu. Bạn có thể nhìn thấy nó nếu bạn sẽ click vào một số funcs này và đi đến đó là tuyên bố:
PyCharm sẽ mở builtins.py
tập tin trong đó là thư mục với nội dung sau:
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
Như bạn xem các hàm được định nghĩa và được ghi lại, nhưng không có triển khai thực hiện, bởi vì việc thực hiện chúng được tạo bằng C và được đặt ở đâu đó trong tệp nhị phân.
Pycharm không thể cung cấp trình bao bọc như vậy cho mọi thư viện. Thông thường, những người đã tạo các tệp .pyd
cung cấp các trình bao bọc .py
của họ (ví dụ: mô-đun PyQt: không triển khai thực hiện python gốc, chỉ cần chữ ký).
Có vẻ như GIMP không có trình bao bọc như vậy cho một số biến. Cách duy nhất tôi thấy là tạo ra một số loại trình bao bọc riêng theo cách thủ công. Ví dụ, tạo gimpfu_signatures.py
với nội dung sau:
RGBA_IMAGE = 1
TRANSPARENT_FILL = 2
NORMAL_MODE = 3
Và import nó trong khi bạn đang tạo plugin:
from gimpfu import *
from gimpfu_signatures import * # comment on release
Không tao nhã, nhưng tốt hơn thì không có gì.
...
Một lưu ý khác về đường dẫn của gimpfu.py
. Nếu tôi hiểu đúng, bạn chỉ cần thêm đường dẫn này vào dự án. Nó có thể làm việc, nhưng cách đúng là thêm nó vào PYTHONPATH của dự án (trong các tùy chọn dự án). Xem this link để biết hướng dẫn chi tiết.
Bạn có gặp phải lỗi thực sự hoặc chỉ cảnh báo? –
Có lẽ đầu mối rất quan trọng: lỗi nói gì? Nếu bạn di chuột qua đường viền đỏ, PyCharm sẽ nói gì? – Ian
Bạn đã thử nhập những điều đó một cách rõ ràng chưa? Tôi sẽ thử 'gimpfu' nhập khẩu, sau đó truy cập vào các hằng số như' gimpfu.RGBA_IMAGE'. – fodma1