【问题标题】:YouCompleteMe post install error : cannot import name _compare_digestYouCompleteMe 安装后错误:无法导入名称 _compare_digest
【发布时间】:2016-09-28 04:52:25
【问题描述】:

我正在尝试在源代码编译的 Vim 实例上安装 YouCompleteMe 插件。我有一个没有 sudo 权限的服务器,因此我必须编译新的 Vim (7.4+) 才能使大多数插件工作。另外,我已经安装了 miniconda,因此所有安装都参考了 miniconda 中的 python。

在遵循如何安装 YouCompleteMe 插件的所有步骤(通过 Vundle 甚至手动)时,我遇到了这个问题:“找不到模块 urllib3”。于是我通过pip安装了urllib3,然后错误变为“无法导入名称_compare_digest”。需要注意的是,conda virtualenv(我刚刚将 miniconda bin 设置为 $PATH)无法启动,并且即使在显式安装后仍然显示“找不到模块 urllib3”。

我安装 vim 的方式有问题吗?在需要的地方,我一直非常小心地指向 miniconda python。如何缓解此问题并让插件再次运行?

【问题讨论】:

    标签: python ubuntu vim conda miniconda


    【解决方案1】:

    当我遇到依赖问题时,我不得不运行

    git submodule update --init --recursive

    在 YouCompleteMe 目录中安装依赖项。

    还要确保您已在此处执行所有其他步骤:

    https://valloric.github.io/YouCompleteMe/#full-installation-guide

    其中一个步骤可能会解决问题。

    【讨论】:

      【解决方案2】:

      简而言之

      只需转到YouCompleteMe 文件夹中的ycmd 子模块,或者准确地说是在YouCompleteMe/third_party/ycmd 中,然后运行下面的git 子模块命令。

      git submodule update --init --recursive

      解释

      我遇到了和你一样的问题, 这是由YouCompleteMe 的子模块未正确克隆引起的。

      这个命令应该可以解决问题。

      git submodule update --init --recursive

      但是很遗憾问题依旧存在,urllib3 not found 所在的问题,使用 pip 安装库都无法解决这个问题。

      问题实际上位于ycmd 子模块中需要urllib3 或更准确地说是ycmdrequests 子模块需要它。

      经过一些实验,主要问题是 git submodule 命令无法正确克隆子模块,导致找不到模块的错误。

      希望对你有帮助:)

      【讨论】:

        猜你喜欢
        • 2014-12-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-03-18
        相关资源
        最近更新 更多