我已经在MacOS上使用Brew安装了Vim,并且默认情况下安装了对Python 3.7.2的+python3支持。

我正在编写一个使用一些Python 3.7的Vim插件,

在具有Ubuntu Bionic的Docker容器中,我尝试安装Python 3.7.2和Vim。并且它安装了Python 3.6并链接到该版本。

我尝试从容器中的源代码安装Vim,它将针对3.6而不是3.7进行构建。

Linux,运行以下命令以配置构建:

./configure --with-features=huge --enable-cscope --enable-multibyte \
  --enable-rubyinterp --enable-pythoninterp --enable-python3interp \
  --with-python3-config-dir=/usr/lib/python3.7/config-3.7m-x86_64-linux-gnu \
  --enable-fail-if-missing


失败,并显示以下消息:


检查编译和链接标志对于Python 3来说是明智的...否


我曾考虑过将MacOS Vim版本降级到3.6并将插件编码为该版本,但我想我会探索一些选项来使其正常工作首先在Linux上使用Python 3.7。

此外,如果这不是该问题的合适论坛,请告诉我,我将其移至更合适的堆栈交换站点。

评论

您是否已检查了常见问题解答vimhelp.org/vim_faq.txt.html#faq-35.10?

谢谢你-我现在仍然没有帮助-它在docker容器中并且vim没有预加载。

和apt-get build-dep vim-gtk没有帮助?

谢谢,但这是针对x11的依赖-无需安装其他任何程序并运行build-dep,它甚至不包含+ python letalone + python3

我相信您需要在Debian上安装python3-dev或在Centos上安装python3-devel。

#1 楼

可能您的默认python33.6。然后,您需要告诉构建过程使用python3.7。您可以使用参数--with-python3-command来做到这一点:

./configure --with-python3-command=python3.7 \
            --with-python3-config-dir=/usr/lib/python3.7/config-3.7m-x86_64-linux-gnu \
            ... (other config params) ...


HTH

评论


这看起来很有希望,但我得到:配置:警告:无法识别的选项:--with-python3-command运行该命令。

–威廉·范·凯奇(Willem van Ketwich)
19年1月10日在8:06

我将在有空的时候尝试尝试这种变化:stackoverflow.com/a/30449124/512965

–威廉·范·凯奇(Willem van Ketwich)
19年1月10日在12:19

奇怪...对我有用。愚蠢的问题:您是否也传递了参数--enable-python3interp = yes?

–JoãoA. Toledo
19年1月10日22:00



这不是一个愚蠢的问题。不,我没有。我会尝试的。谢谢。

–威廉·范·凯奇(Willem van Ketwich)
19年1月10日在22:17

我设法创建了一个Docker镜像来对其进行测试。您可以在这里找到它:github.com/jalexandretoledo/DockerUbuntuPython37

–JoãoA. Toledo
19年1月19日在14:09

#2 楼

在为vim运行make clean distclean命令之前,先执行configure
。这对我有用。之前有很多缓存项正在干扰vim configure

评论


欢迎来到Vi和Vim!您是否可以在OP案例中尝试此操作?该答案可能会受益于该问题的更多详细信息

– D. Ben Knoble♦
19-10-25在14:06

#3 楼

我有相同的错误消息


检查Python 3的编译和链接标志是否正确...否


并基本上在运行相同的命令。问题出在以下一行:

--with-python3-config-dir=/usr/lib/python3.7/config-3.7m-x86_64-linux-gnu


这是不正确的。

我使用以下输出检查了配置的实际位置:

python3.7-config


,此问题已解决。