+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。
此外,如果这不是该问题的合适论坛,请告诉我,我将其移至更合适的堆栈交换站点。
#1 楼
可能您的默认python3
是3.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
,此问题已解决。
评论
您是否已检查了常见问题解答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。