是否可以在虚拟开发环境中使用matplotlib打开图像?

时间:2017-09-08 09:14:21

标签: python matplotlib vagrant

我使用Ubuntu Vagrant框(虚拟环境,没有GUI)用于我的开发目的,我决定用Python尝试一些图像识别,但是当我运行以下代码时,我无法打开图像:< / p>

# I'm not sure if I can/should do this import in the same file, 
# but it doesn't give me any errors ...
import matplotlib
matplotlib.use('Agg')

from PIL import Image
import numpy as np
import matplotlib.pyplot as plt

i = Image.open('images/dotndot.png')
image_array = np.asarray(i)
plt.imshow(image_array)
plt.show()

即:没有任何反应。没有错误也没有图像。
所以我想知道我的虚拟开发环境是否是罪魁祸首?

1 个答案:

答案 0 :(得分:1)

  

没有GUI

嗯,这就是问题所在。窗户在Vagrant内静静地打开,你看不到它。

如果您坚持将Vagrant与GUI程序一起使用,则需要在主机上设置X Server,并转发显示,如mentioned here

如果您需要具有GUI的Linux环境,只需使用完整桌面设置普通VM即可 否则,如果您的编码主要是Python,请使用本地virtualenv