[Python-Dev] python2 and python3 and vim
Nick Coghlan
ncoghlan at gmail.com
Sun Nov 3 23:04:27 CET 2013
On 4 Nov 2013 03:00, "R. David Murray" <rdmurray at bitdance.com> wrote:
>
> I came across this in the VIM documentation:
>
> Vim can be built in four ways (:version output):
> 1. No Python support (-python, -python3)
> 2. Python 2 support only (+python or +python/dyn, -python3)
> 3. Python 3 support only (-python, +python3 or +python3/dyn)
> 4. Python 2 and 3 support (+python/dyn, +python3/dyn)
>
> Some more details on the special case 4:
>
> When Python 2 and Python 3 are both supported they must be loaded
dynamically.
>
> When doing this on Linux/Unix systems and importing global symbols,
this leads
> to a crash when the second Python version is used. So either global
symbols
> are loaded but only one Python version is activated, or no global
symbols are
> loaded. The latter makes Python's "import" fail on libraries that
expect the
> symbols to be provided by Vim.
>
> I've never played with embedding Python. Does this make sense to
> anyone who has? Is there some limitation in our embedding and/or
> import machinery here, or is this more likely to be a shortcoming on
> the VIM side?
>
> Mostly I'm asking out of curiosity in hopes of learning something;
> I doubt I'll have enough motivation to make time to work on solving this.
Essentially what Greg said - we export many of the same symbols from both
shared libraries, so if you try to load both CPython 2 and 3 into one
process, the dynamic linker isn't going to be happy about it at all.
Since making it work would be a lot of work for minimal benefit, the most
that could realistically be done is to make it fail a little more
gracefully (I believe that would need to be done on the Vim side of things,
though).
Cheers,
Nick.
>
> --David
> _______________________________________________
> Python-Dev mailing list
> Python-Dev at python.org
> https://mail.python.org/mailman/listinfo/python-dev
> Unsubscribe:
https://mail.python.org/mailman/options/python-dev/ncoghlan%40gmail.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-dev/attachments/20131104/23ded2a1/attachment.html>
More information about the Python-Dev
mailing list