我最近开始使用sublimetext 2,但是我今天注意到在sublimetext中运行时plt.show()
函数似乎不起作用。
例如,我创建以下脚本:
import matplotlib.pyplot as plt
plt.plot([1,2,3,4])
plt.show()
使用IDLE运行此操作会生成一个绘图,但是使用sublimetext不会生成任何输出。它只是一直“思考”,直到我结束python.exe进程,然后输出[Finished]。
我是否误解了sublimetext的用法?
谢谢。
我的猜测是Sublime Text 2会在自己的环境中启动你的代码,并且只捕获并显示控制台输出。使用GUI时存在同样的问题,例如wxPython。
另一个解决方法是打开命令提示符并手动启动它(python file.py)。
编辑:qazxsw poi它声称“在Windows下,GUI被抑制。”
编辑2:Here它列出了一种修复它的方法,就在页面底部。
我按照上面的建议尝试了theta的答案。它工作正常。如果控制台立即打开和关闭,就像直接从文件资源管理器中运行python文件一样,只需在最后添加以下行:
{
"cmd": ["python", "-u", "$file"],
"file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
"selector": "source.python",
"shell": true
}
这是我第一次回答这里。对不起,如果我不遵守答案格式。
在sublime文本3中注意(安装了anaconda包)
您需要添加一个自定义构建系统,如theta所说:
首先在matplotlib.pyplot.show('hold')
中添加一个名为python的文件夹
然后将名为\path\to\Sublime Text Build XXXX\Data\Packages
的文件放入该文件夹。
python.sublime-build
并记得像罗尔德所说的那样添加{
"cmd": ["python", "-u", "$file"],
"file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
"selector": "source.python",
"shell": true
}
。
plt.show()
演示:
plt.imshow(image)
plt.show()