VS Code Python 第三方库 pillow 实例化的对象不能自动补全?

发布于 2022-09-11 14:33:29 字数 1239 浏览 13 评论 0

问题描述

最近刚开始学习使用Python做图像处理,在Mac上用VS Code搭建了Python的环境。
图像处理的库目前正在使用Pillow,PIL的分支,发现了VS Code自动补全有点奇怪,故来求教

主要出现的问题是pillow库实例化的Image对象不能自动补全,见下方代码及图片

相关代码

from PIL import Image  # 这里能够自动补全,获取PIL中的类

image = Image.open(  # 这里也能自动补全,获取Image的static method
    '/Users/shine/Downloads/748K01N-LT06MC/748K01N-LT06MC-1.jpg')
image.  # 此处的image object无法自动补全,无法自动获取show()等方法

clipboard.png
clipboard.png

一些尝试和相关内容

一开始以为是vs code配置的问题,但是尝试了下面的代码

import requests

r = requests.get('http://baidu.com')
print(r.status_code)

clipboard.png

看到另一位同志在pycharm下也遇到了一样的问题:https://segmentfault.com/q/10...
似乎是pillow自己的问题?

环境

环境信息:macOS,Python 3.6.6,VS Code 1.28.2

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

帅气称霸 2022-09-18 14:33:29

在stackoverflow上面找到了原因,跟IDE其实没有关系
https://stackoverflow.com/que...
问题关键在于IDE不能推测Image.open()返回的类型是啥,可以通过注释来告诉IDE

from PIL import Image

image = Image.open('./1.jpg')  # type: Image.Image
image.show()

clipboard.png

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文