Đây là giải pháp giả mà tôi đã đưa ra cho vấn đề này.
#pylint: disable=no-name-in-module
from numpy import array as np_array, transpose as np_transpose, \
linspace as np_linspace, zeros as np_zeros
from numpy.random import uniform as random_uniform
#pylint: enable=no-name-in-module
Sau đó, trong mã của bạn, thay vì gọi numpy
chức năng như np.array
và np.zeros
và như vậy, bạn sẽ viết np_array
, np_zeros
vv Ưu điểm của phương pháp này so với các phương pháp khác gợi ý trong câu trả lời khác:
- Việc vô hiệu hóa / bật pylint bị giới hạn trong một vùng nhỏ trong mã của bạn
- Điều đó có nghĩa là bạn không phải bao quanh tất cả các dòng duy nhất có một lệnh gọi hàm numpy với một lệnh pylint.
- Bạn không thực hiện vô hiệu hóa lỗi cho toàn bộ tệp của mình, điều này có thể che giấu các vấn đề khác với mã của bạn.
Nhược điểm rõ ràng là bạn phải nhập rõ ràng mọi hàm numpy bạn sử dụng. Cách tiếp cận có thể được xây dựng trên. Bạn có thể định nghĩa mô-đun của riêng bạn, gọi nó numpy_importer
là như sau
""" module: numpy_importer.py
explicitely import numpy functions while avoiding pylint errors
"""
#pylint: disable=unused-import
#pylint: disable=no-name-in-module
from numpy import array, transpose, zeros #add all things you need
from numpy.random import uniform as random_uniform
#pylint: enable=no-name-in-module
Sau đó, mã ứng dụng của bạn chỉ có thể nhập mô-đun này (thay vì numpy) như
import numpy_importer as np
và sử dụng tên như bình thường : np.zeros
, np.array
v.v.
Ưu điểm của việc này là bạn sẽ có một mô-đun duy nhất trong đó tất cả numpy
các lần nhập có liên quan được thực hiện một lần và mãi mãi, sau đó bạn nhập nó với một dòng duy nhất, bất cứ nơi nào bạn muốn. Tuy nhiên, bạn phải cẩn thận rằng numpy_importer
không nhập tên mà không tồn tại numpy
vì những lỗi đó sẽ không bị bắt bởi pylint.