今天遇到一个问题,就是在使用virtualenv创建虚拟环境后,发现ipython无法启动,报错如下:
ImportError: The IPython Notebook requires tornado >= 4.0, but you have 3.1.1
奇怪,明明在requirement.txt
文件中指明了安装的是tornado==4.3
,为什么还说我是3.1.1?
使用如下命令查看:
apt-cache policy python-tornado
python-tornado:
已安装: 3.1.1-1ubuntu2
候选软件包:3.1.1-1ubuntu2
版本列表:
*** 3.1.1-1ubuntu2 0
500 http://archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages
100 /var/lib/dpkg/status
是由于系统安装的python-tornado是3.1.1的。使用如下命令卸载掉系统中的tornado:
sudo apt-get remove python-tornado
卸载掉系统中的tornado后,在虚拟环境中查看:
pip show tornado | grep Version
Version: 4.3
问题解决了。但是我不太清楚为什么系统中的版本会覆盖虚拟环境中的版本?难道需要什么设置吗?