YouCompleteMe安装后错误:无法导入名称_compare_digest

时间:2016-09-28 04:52:26

标签: python ubuntu vim conda miniconda

我正在尝试在源编译的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,只要它需要它。如何缓解此问题并使插件再次运行?

2 个答案:

答案 0 :(得分:0)

当我遇到依赖项问题时,我必须运行

@NgModule({ providers: [ { provide: HeroService, useClass: HeroMockService } ] }) export class MockModule {}

在YouCompleteMe目录中

以安装依赖项。

同时确保您已完成此处的所有其他步骤:

defaultdict

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

答案 1 :(得分:0)

简而言之

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

git submodule update --init --recursive

<强> Explantion

我和你的一样有同样的问题, 这是由YouCompleteMe的子模块未正确克隆造成的。

此命令应该能够解决问题。

git submodule update --init --recursive

但不幸的是问题仍然存在,urllib3 not found的问题以及使用pip对图书馆进行安装无法解决此问题。

实际上位于ycmd子模块中的问题需要urllib3,或更精确地requests ycmd子模块需要它。

经过一些实验,主要问题是git submodule命令无法正确克隆子模块,在该子模块中发现有关未找到模块的错误。

希望,这可以为您提供帮助:)