代码之家  ›  专栏  ›  技术社区  ›  Dugas

“pip检查”是否损坏?

  •  2
  • Dugas  · 技术社区  · 7 年前

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

    python功能正常, pip check 不返回断开的依赖项。

    创建virtualenv virtualenv --system-site-packages ~/env source ~/env/bin/activate .一切正常

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

    例如, 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.
    好吧,奇怪的是,我们刚刚检查了six的安装情况,版本是1.10,对吗?

    变得更奇怪: pip安装六个 再次强调: 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 无法解决此问题。

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

    有什么想法吗?

    2 回复  |  直到 7 年前
        1
  •  0
  •   Roushan    7 年前

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

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

    因此,只需列出已安装的版本 pip freeze

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

    pip install six==1.11.0
    
        2
  •  0
  •   Dugas    7 年前

    等了几天后,我升级了pip,错误消失了。看起来这确实是pip版本比较中的一个bug,如 Erik Cederstrand