Sur les systèmes Linux, Vim empaqueté en a généralement un seul python
ou python3
activé. Il est possible d'activer les deux (à l'aide de python/dyn
et python3/dyn
), mais pendant une session, une seule peut être utilisée. Cette discussion sur la liste de diffusion a dit :
Cela dépend de la façon dont les bibliothèques Python sont construites. Sur les systèmes basés sur Debian (pour des raisons dont je ne me souviens pas par inadvertance), ils sont construits de telle sorte que RTLD_GLOBAL doit être utilisé pour accéder aux symboles. Cela empêche le chargement de libpython2.x et libpython3.x dans le même processus.
Que peut-on faire pour activer le chargement des deux dans la même session?
Options que je peux voir:
- Reconstruisez les packages Python {2,3} afin que
RTLD_GLOBAL
(quoi que ce soit) ne soit pas nécessaire. - D'une manière ou d'une autre, la bibliothèque est chargée plus tôt pour être déchargée (?!) Par Vim. (Est-ce que c'est possible?)
Pour tout détail de la distribution, supposons, par ordre croissant de spécificité:
- Basé sur Debian
- Ubuntu
- Ubuntu 14.04
- Ou, Arch Linux, si un système basé sur Debian est trop complexe.
Notez que j'ai Vim à construire avec un support de chargement dynamique pour les deux, donc la construction de Vim n'est pas un problème.