Hello!!,everyone, 刚用上python的新手菜鸡又来啦,这次分享的是基于python2.7在用python3.6跑的时候遇到的坑,因为python3.6相比于python2.7去掉了一些库或者把一些函数改名了,但是我们从github扒一些大神的paper model时,它们很多都是基于python2.xx编写,所以我们为了让代码可以顺利跑起来需要进行一些修改。
1. SyntaxError: Missing parentheses in call to 'print'
在python2.7中,print不是一个函数,python3.6中,print是一个函数,所以需要添加括号()。
print'Dolores' #python 2.7
print ('Dolores') #python 3.6
2. ModuleNotFoundError: No module named 'cPickle'
python 3.6 中,这个库改名字了
import cPickle as pickle #python 2.7
import pickle as pickle #python 3.6
如果你导出的包名字不一致,下面所有用到的地方都要改,建议无论用什么版本都保持一致。
3. AttributeError: module 'tensorflow' has no attribute 'placeholder'
老问题了,用了新的版本,tensorflow也要跟着升