我使用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()
即:没有任何反应。没有错误也没有图像。
所以我想知道我的虚拟开发环境是否是罪魁祸首?
答案 0 :(得分:1)
没有GUI
嗯,这就是问题所在。窗户在Vagrant内静静地打开,你看不到它。
如果您坚持将Vagrant与GUI程序一起使用,则需要在主机上设置X Server,并转发显示,如mentioned here
如果您需要具有GUI的Linux环境,只需使用完整桌面设置普通VM即可 否则,如果您的编码主要是Python,请使用本地virtualenv