升级使用python3.6遇到的一些小事

编码问题

之前听说python 3.6极其的好,在编码上面都是UTF-8的,这样可以解决很多自然语言处理中的常见编码问题。事实证明还是会有编码问题,只是解决的方法不像python 2.7那样感觉有点dirty。

以下是python 2.7的环境下解决编码问题的方法

1
2
3
import sys
reload(sys)
sys.setdefaultencoding('UTF-8')

但是我在使用“高大上”的python 3.6的时候还是遇到无法输出带音标的cafe的问题。
解决方法是在打开文件的时候加上一个参数

1
f = open('a.txt', 'w', encoding='utf-8')

破坏原有的python环境

我之前是在virtualenv下使用pthon环境,大概因为升级python重装了很多包,导致原有的用virtualenv创建的python2.7环境中的软连接遭到了破坏,看来以后想要创建virtualenv的话还是要加上--always-copy的选项来将整个库都copy过来,避免使用的是软链接。

而我的情况是出现了No module named urllib3,就算再新建的python2.7环境也会出现这个问题,后来想想大概是因为urllib3被升级了吧。我是通过将urllib3升级来解决的这个问题。

1
sudo pip install -U urllib3

然后再用virtualenv命令来重建原有的虚拟环境就可以了。

分享到