On Linux systems, packaged Vim typically has only one of either python or python3 enabled. It is possible for both to be enabled (using python/dyn and python3/dyn), but during a session, only one can be used. This mailing list discussion said:
It depends on how the Python libraries are built. On Debian-based systems (for reasons I don't recall offhand), they're built such that RTLD_GLOBAL has to be used to get access to the symbols. This prevents loading both libpython2.x and libpython3.x in the same process.
What can be done to enable loading of both in the same session?
Options that I can see:
- Rebuild the Python{2,3} packages so that
RTLD_GLOBAL(whatever that may be) isn't needed. - Somehow get the library loaded earlier to be unloaded (?!) by Vim. (Is that even possible?)
For any particulars of the distro, assume, in increasing order of specificity:
- Debian-based
- Ubuntu
- Ubuntu 14.04
- Or, Arch Linux, if a Debian-based system is too complex.
Note that I have got Vim to build with dynamic loading support for both, so building Vim isn't a problem.
vim-runtimepackage, they havevim,gvim,vim-python3andgvim-python3. The only difference between the-python3and the normal packages is the version of Python enabled. Sure, it doubles the number of frontend packages, but that's all the flaw I see in such packaging. – muru Feb 26 '15 at 02:55vim-nox,vim-gtk,vim-gnome, andvim-athena. Doubling those just so that users still can't use both Python and Python3 plugins doesn't seem worthwhile. – jamessan Feb 26 '15 at 03:07vim-nox-py2package like Ubuntu? We need it on Debian stable to use vdebug plugin. It looks likepython-neovimis only in the unstable branch so we are stuck :/ – baptx Dec 13 '17 at 17:20