Auf Linux-Systemen ist in Packaged Vim normalerweise nur eines von beiden python
oder nur eines python3
aktiviert. Es ist möglich, dass beide aktiviert sind (mithilfe von python/dyn
und python3/dyn
), aber während einer Sitzung kann nur eine verwendet werden. Diese Mailingliste Diskussion sagte :
Dies hängt davon ab, wie die Python-Bibliotheken erstellt werden. Auf Debian-basierten Systemen (aus Gründen, an die ich mich nicht ohne weiteres erinnere) sind sie so aufgebaut, dass RTLD_GLOBAL verwendet werden muss, um Zugriff auf die Symbole zu erhalten. Dadurch wird verhindert, dass sowohl libpython2.x als auch libpython3.x im selben Prozess geladen werden.
Was kann getan werden, um das Laden von beiden in derselben Sitzung zu ermöglichen?
Optionen, die ich sehen kann:
- Erstellen Sie die Python {2,3} -Pakete neu, sodass
RTLD_GLOBAL
(was auch immer) nicht benötigt wird. - Irgendwie wird die Bibliothek früher geladen, um von Vim entladen zu werden (?!). (Ist das überhaupt möglich?)
Nehmen Sie für alle Einzelheiten der Distribution in aufsteigender Reihenfolge der Spezifität an:
- Debian-basiert
- Ubuntu
- Ubuntu 14.04
- Oder Arch Linux, wenn ein Debian-basiertes System zu komplex ist.
Beachten Sie, dass ich Vim mit Unterstützung für dynamisches Laden für beide erstellen lassen muss , sodass das Erstellen von Vim kein Problem darstellt.