Python 是';pip检查';破碎的

Python 是';pip检查';破碎的,python,pip,ubuntu-16.04,Python,Pip,Ubuntu 16.04,我今天在两台不同的计算机上看到了这个问题: python运行正常,pip-check不会返回损坏的依赖项 创建virtualenvvirtualenv——系统站点包~/env和source~/env/bin/activate。一切都好 pip检查:仍然没有断开的依赖项 例如,pip安装六个: 已满足要求:六个in/usr/lib/python2.7/dist-packages(1.10.0) pip-install-jupyter或pip-install-catkin\u-pkg,安装成功完成,

我今天在两台不同的计算机上看到了这个问题:

python运行正常,
pip-check
不会返回损坏的依赖项

创建virtualenv
virtualenv——系统站点包~/env
source~/env/bin/activate
。一切都好

pip检查
:仍然没有断开的依赖项

例如,
pip安装六个

已满足要求:六个in/usr/lib/python2.7/dist-packages(1.10.0)

pip-install-jupyter
pip-install-catkin\u-pkg
,安装成功完成,但:
python dateutil 2.7.2需要六个>=1.5,但未安装。
catkin pkg 0.4.1需要pyparsing,但尚未安装。

好吧,我们刚刚检查了安装了six,版本是1.10,对吗

变得更奇怪:
pip再次安装六个
pip安装六个
已满足要求:六个in/usr/lib/python2.7/dist-packages(1.10.0)
python dateutil 2.7.2需要六个>=1.5,但尚未安装。

什么?是安装还是未安装

确保用户可以使用sudo chmod-R go+rX/usr/lib/python2.7/dist-packages阅读dist-packages文件并不能解决这个问题

起初我认为我的系统可能会破坏软件包,但在两台不同的机器上看到这一点真的很奇怪


有什么想法吗?

python dateutil 2.7.2需要六个>=1.5,但尚未安装

从错误中可以明显看出,模块6的版本应该大于v1.5

因此,只需通过
pip freeze

到目前为止,已有六个最新版本可供安装

pip install six==1.11.0

等了几天后,我升级了pip,错误消失了。这似乎确实是pip版本比较中的一个错误,正如所描述的那样,这是否也发生在干净的virtualenv中?哪个pip版本
pip--version
你介意精确地解释一下“干净”是什么意思吗?每次我创建一个virtualenv并尝试安装jupyter时都会发生这种情况,例如,pip安装jupyter。这也发生在python2 virtualenv上,pip——版本是
pip 10.0.0b2 from/home/daniel/env/local/lib/python2.7/site-packages/pip(python2.7)
我还见过其他情况,
pip
似乎在对版本号进行字符串比较,而不是比较各个部分。即
'1.5'>'1.10'
而不是
(1,5)>(1,10)
。它可能只是
pip
中的一个bug。但是,我没有看到在的报告。上面的命令还显示安装了6个1.10。1.10大于1.5,对吗?可能数字不是十进制约定,所以1.11可以大于1.5,所以只需尝试安装1.11