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.