Python 是';pip检查';破碎的
我今天在两台不同的计算机上看到了这个问题: python运行正常,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,安装成功完成,
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 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