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

问题描述

最近刚开始学习使用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

阅读 9.4k
1 个回答

在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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Microsoft
子站问答
访问
宣传栏