您的位置:首页 > 编程语言 > Python开发

第一天-开发环境搭建,遇到的Python问题

2018-01-06 21:56 573 查看

No module named ‘tkinter’ 问题

今天主要遇到一个头疼的问题是在导入matplotlib.pyplot时出现了 No module named ‘tkinter’, 首先是以为python2与python3 在tkinter上命名区别,其实发现这些都不用我们考虑(Note Tkinter has been renamed to tkinter in Python 3. The 2to3 tool will automatically adapt imports when converting your sources to Python 3.)。后来还尝试安装了ActiveTcl,反正折腾了半天没有结果。后来查到这些是python自带的(The tkinter package (“Tk interface”) is the standard Python interface to the Tk GUI toolkit.),终于有点发现。

问题原因:在安装python时,没有勾选 tcl/tk and IDLE 这一项。(可能是之前我不想用它自带的开发工具)

解决方案:

从官网下载同版本号的安装包,安装时选择Modify,将此项勾选上。



keras可视化遇到pydot&graphviz无法导入问题

具体报错内容是:ImportError: Failed to import pydot. You must install pydot and graphviz for
pydotprint
to work.

问题原因:这个报错十分具有误导性……即使执行了

pip install pydot;

pip install pydot-ng;

pip install graphviz 还是有这个报错。

报错的原因其实不在于pydot,跟python包没有关系,而是因为graphviz需要安装二进制执行文件。(pydot_ng.InvocationException: GraphViz’s executables not found)

解决方案:keras可视化遇到pydot&graphviz无法导入问题

如果修改环境变量后,依然没有效果的话,原因是Windows的环境变量没有更新,需要重启系统。

测试代码:

from keras.models import Sequential
from keras.layers import Dense, Activation
from keras.utils import plot_model
from keras.optimizers import SGD
if __name__=='__main__':
print('create model')
model=Sequential()
model.add(Dense(32,input_shape=(100,)))
model.add(Activation('relu'))
model.add(Dense(64))
model.add(Activation('sigmoid'))
sgd=SGD(lr=0.05, decay=1e-6, momentum=0.9, nesterov=True)
print('compile')
model.compile(optimizer=sgd, loss='categorical_crossentropy', metrics=['accuracy'])
plot_model(model, to_file='model.png')
print('Done!')


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Tensorflow Python tkinter