最近想测试CondenseNet(DenseNet的改进版)的代码,用到了CIFAR10的数据,在数据准备阶段,需要先运行代码将CIFAR10数据格式转换成tfrecords格式,所用代码需要拿python2运行。命令是:
`python2 generate_cifar10_tfrecords.py --data-dir=./cifar-10-data`
我的ubuntu里默认的是python3,在运行阶段,报错,提示我的python2底下没有安装six包。
$ python2 generate_cifar10_tfrecords.py --data-dir=./cifar-10-data Traceback (most recent call last): File "generate_cifar10_tfrecords.py", line 33, in <module> import six ImportError: No module named six
然后,运行pip安装的话,
pip install six
会把six安装到python3下面,而且会提示安装成功,但是运行python2时,依然报错。
正确做法应该是:
$ python2 -m pip install six Collecting six Using cached https://files.pythonhosted.org/packages/67/4b/141a581104b1f6397bfa78ac9d43d8ad29a7ca43ea90a2d863fe3056e86a/six-1.11.0-py2.py3-none-any.whl Installing collected packages: six Successfully installed six
搞定!安装其他缺少的包也是一样命令。
由于我只用python2处理数据格式,所以用完之后,为了节约内存,还要把python2下面的包删掉。语句同样简单
$ python2 -m pip uninstall six
这样就不会误删位于python3下面的包了。