Trên các hệ thống Linux, Vim đóng gói thường chỉ có một trong hai python
hoặc python3
được bật. Có thể cả hai được bật (sử dụng python/dyn
và python3/dyn
), nhưng trong một phiên, chỉ có thể sử dụng một phiên. Thảo luận về danh sách gửi thư này cho biết :
Nó phụ thuộc vào cách các thư viện Python được xây dựng. Trên các hệ thống dựa trên Debian (vì lý do tôi không nhớ lại), chúng được xây dựng sao cho RTLD_GLOBAL phải được sử dụng để có quyền truy cập vào các biểu tượng. Điều này ngăn tải cả libpython2.x và libpython3.x trong cùng một quy trình.
Có thể làm gì để cho phép tải cả hai trong cùng một phiên?
Các tùy chọn mà tôi có thể thấy:
- Xây dựng lại các gói Python {2,3} để
RTLD_GLOBAL
không cần bất cứ thứ gì có thể. - Bằng cách nào đó, thư viện được tải trước đó để được tải xuống (?!) Bởi Vim. (Điều đó thậm chí có thể chứ?)
Đối với bất kỳ chi tiết nào của bản phân phối, giả sử, theo thứ tự tăng dần về tính đặc hiệu:
- Dựa trên Debian
- Ubuntu
- Ubuntu 14.04
- Hoặc, Arch Linux, nếu một hệ thống dựa trên Debian quá phức tạp.
Lưu ý rằng tôi đã có Vim để xây dựng với hỗ trợ tải động cho cả hai, vì vậy việc xây dựng Vim không phải là vấn đề.