【问题标题】:installing VIM8.1 on CENTOS7 for user with support to python3.7 fails在 CENTOS7 上为支持 python3.7 的用户安装 VIM8.1 失败
【发布时间】:2019-03-20 15:18:31
【问题描述】:

我正在尝试在 CENTOS7 上以本地用户身份安装 vim8.1,按照在 https://github.com/Valloric/YouCompleteMe/wiki/Building-Vim-from-source [此处] 找到的过程进行操作,但有一些更改。

我遇到了 python 的问题 致命错误:Python.h: No such file or directory #include <Python.h>

克隆 vim 后,我执行以下操作,没有错误:

./configure --with-features=huge --enable-multibyte --enable-rubyinterp=yes --enable-python3interp=yes --with-python3-config-dir=/usr/local/lib/python3.7/config-3.7m-x86_64-linux-gnu --enable-perlinterp=yes --enable-luainterp=yes --enable-gui=gtk2 --enable-cscope --prefix=/home/myuser

我将python3.7(这是我正在使用的python版本)设置为“pypython3-config-dir”,但它似乎找到了python3.4:

cc -std=gnu99 -c -I. -I/home/myuser/env/env3/include/python3.4m -pthread -fPIE -Iproto -DHAVE_CONFIG_H -g -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1 -o objects/if_python3.o if_python3.c

这对我来说很奇怪,但更大的问题是它找不到 Python.h。当文件 Python.h 位于 PATH 中时,当我添加 /usr/include/python3.4m 时也会发生这种情况:

PATH=/usr/include/python3.4m:$PATH

echo $PATH 表明它在那里。

谁能帮我解决这个问题?我想在安装 vim 时保留 3.4 版本对我来说不是问题。

【问题讨论】:

  • 是的,我有。头文件和静态库已安装并存在。显然它正在错误的目录(env ....)中寻找头文件。我将从头开始,看看是否有帮助。
  • 请看我的回答。

标签: python-3.x vim centos7


【解决方案1】:

好吧,我碰巧需要和你的配置相同的 vim。

我从一个官方的 CentOS 7 docker 镜像开始,几天后我放了这个 vim 安装脚本:

https://gist.github.com/niloct/af20c98e983c60cdd26eaa4745d3e99e

发生的情况是我决定从源代码编译 Python 3.7.3,因为没有可用于 OS 版本的包(我在这里搜索:https://pkgs.org/),然后设法配置 vim 编译以使用它。

从那里设置的所有内容来看,python 2.7 配置目录设置 (--with-python-config-dir=/usr/lib64/python2.7/config/) 可能与您的不同,请对其进行调整,希望您可以使用它编译所有内容。

【讨论】:

  • 非常感谢!我已经从源代码安装了 python3.7 并设法使用它,但 vim 仍然链接到 python3.4。我决定暂时保持这种状态。
  • 这很奇怪,我的回答中的要点应该适用于带有官方 centos 7 图像的 docker。
  • 我同意,我想我会在一段时间内再次尝试使用“干净的大脑”。如果我做对了,我会在这里发布。
  • 另外,你看到了吗:securitynewspaper.com/2019/06/11/… 最好再次编译所有这些 vim =)
猜你喜欢
  • 2019-11-18
  • 1970-01-01
  • 2018-12-12
  • 1970-01-01
  • 2015-05-17
  • 1970-01-01
  • 2016-07-10
  • 2015-07-22
  • 1970-01-01
相关资源
最近更新 更多