我今天在两台不同的计算机上看到了这个问题:
python正常运行,pip check
不会返回破坏的依赖项。
创建virtualenv virtualenv --system-site-packages ~/env
和source ~/env/bin/activate
。好的
pip check
:仍然没有破坏的依赖关系
例如,pip install six
:
Requirement already satisfied: six in /usr/lib/python2.7/dist-packages (1.10.0)
pip install jupyter
或pip install catkin_pkg
,安装成功完成,但是:
python-dateutil 2.7.2 requires six>=1.5, which is not installed.
catkin-pkg 0.4.1 requires pyparsing, which is not installed.
好的很奇怪,我们只检查了六个是否已安装,而版本为1.10,对吧?
再次变得更奇怪:pip install six
:
pip install six
Requirement already satisfied: six in /usr/lib/python2.7/dist-packages (1.10.0)
python-dateutil 2.7.2 requires six>=1.5, which is not installed.
什么?它是,还是没有安装?
确保用户可以使用sudo chmod -R go+rX /usr/lib/python2.7/dist-packages
读取dist-packages文件并不能解决此问题。
起初我以为我的系统可能已经打破了包,但是在两台不同的机器上看到它真的很奇怪。
有什么想法吗?
答案 0 :(得分:0)
python-dateutil 2.7.2需要6个> = 1.5,未安装
从错误中可以清楚地知道模块六的版本应该大于v1.5
所以只需按pip freeze
截至目前,已有六个版本可以通过
安装pip install six==1.11.0
答案 1 :(得分:0)
等了几天后,我升级了pip,错误就消失了。看来它确实是pip版本比较中的一个错误,如Erik Cederstrand
所述