Ubuntu 16.04 VIM tanpa dukungan python!


22

Meskipun Ubuntu 16,04 catatan rilis menyebutkan bahwa:

Paket VIM default telah dibangun terhadap python3 bukan python2.

Namun setelah saya menginstal vim dengan perintah berikut:

sudo apt-get install vim

Dan diperiksa:

vim --version

Itu menunjukkan:

-python
-python3

Apakah ini bug? Bagaimana saya mendapatkan vim dengan dukungan Python?

Jawaban:


27

Jika Anda ingin dukungan Python 3 di vim, instal vim-noxpaket ( sudo apt install vim-nox) lihat edit di bawah .

Namun, jika Anda masih membutuhkan dukungan Python 2, instal vim-nox-py2paket ( sudo apt install vim-nox-py2).

Sunting : vimbaru-baru ini diperbarui untuk memperbaiki masalah ini, dan Anda tidak perlu menginstal vim-noxpaket lagi untuk mendapatkan dukungan Python 3.


1
ya saya melakukan itu..tapi mengapa paket vim tidak mendukung python?
Saprativa Bhattacharjee

Ubuntu membagi dukungan Python dari paket utama menjadi dua paket lain: satu yang mendukung Python 2 dan satu yang mendukung Python 3. Setelah Anda menginstal salah satu paket di atas, Anda harus dapat menggunakan vim dengan dukungan Python 2/3.
saiarcot895

1
Bukankah itu mengejutkan bahwa paket vim itu sendiri tidak mendukung ular piton? catatan rilis menyebutkan sebaliknya. wiki.ubuntu.com/XenialXerus/ReleaseNotes
Saprativa Bhattacharjee

@ saiarcot895 Ini sepertinya bekerja untuk saya. Tetapi di mana Anda menggali informasi ini? Apakah ada wiki Ubuntu yang mendokumentasikan bagaimana mereka mendistribusikan barang?
qweruiop

2
Hanya ingin menambahkan itu setelah menginstal vim-nox-py2saya harus menjalankan sudo update-alternatives --set vim /usr/bin/vim.nox-py2. Saya percaya, tolong perbaiki saya sebaliknya, tanpa ini vimmenunjuk ke vim.tinyatau beberapa paket yang tidak memiliki dukungan python.
DBS

3

Pada 17.10-18.10 sulit untuk mendapatkan salinan vim dengan dukungan python2 dan python3. Pengaturan PPA oleh pi-rho memiliki paket seperti itu untuk rilis sebelumnya, tetapi belum untuk 17.10 dan yang lebih baru.

Inilah yang saya lakukan untuk menjalankan paket pi-rho:

  1. uninstall semua paket vim (ini akan memaksa Anda untuk menghapus "ubuntu-minimal")
  2. unduh paket vim dari sini yang diakhiri dengan "~ z"
  3. unduh paket perl-modules-5.24 , libgdbm3 , dan libperl5.24
  4. instal menggunakan dpkg: buka direktori unduh dan lakukan sudo dpkg -i libgdbm3_1.8.3-14_amd64.deb libperl5.24_5.24.1-2ubuntu1.1_amd64.deb perl-modules-5.24_5.24.1-2ubuntu1.1_all.deb vim*.deb
  5. instal ulang "ubuntu-minimal": sudo apt install ubuntu-minimal
  6. mengunci versi vim
    • buka pengelola paket synaptic dan sorot paket vim yang baru saja Anda instal. Pergi ke Paket -> "Kunci Versi"
    • Anda mungkin juga perlu "memegang" paket-paket itu sudo apt-mark holduntuk masing-masing paket tersebut (mis. sudo apt-mark hold vim-common vim-gnome)


1

Di Ubuntu 17.10 , kompilasi adalah solusi yang bekerja untuk saya:

Terinspirasi langsung oleh intisari ini , saya melakukan hal berikut:

sudo apt-get remove --purge vim vim-runtime vim-gnome vim-tiny vim-gui-common
sudo apt-get install checkinstall
sudo rm -rf /usr/local/share/vim /usr/bin/vim
cd /tmp && git clone https://github.com/vim/vim
cd vim/src
make distclean
cd ..
./configure --enable-multibyte --enable-perlinterp=dynamic --enable-pythoninterp=dynamic --with-python-config-dir=/usr/lib/python2.7/config-x86_64-linux-gnu --enable-cscope --enable-gui=auto --with-features=huge --with-x --enable-fontset --enable-largefile --disable-netbeans --with-compiledby="put your name here" --enable-fail-if-missing
make
sudo make install
sudo ln -s /usr/local/bin/vim /usr/bin/vim

Jangan lupa untuk mengadaptasi ./configureparameter sehingga Anda memiliki semua fitur lain yang Anda butuhkan.

Sekarang Anda dapat membuka vim dan menjalankan perintah :echo has('python')untuk mengonfirmasi bahwa Anda telah mengaktifkan python 2.


1

Menginstal vim-nox-py2dan kemudian berjalan

sudo update-alternatives --config vim

bekerja untukku.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.