Vim 8.0 Python desteği


23

Vim kurulumumu 8.0 sürümüne yükseltmeye çalışıyorum, ancak aşağıdaki resim olarak Python ve Python 3'ü desteklemiyor.

(PS: Bu sorun nedeniyle, YCM (YouCompleteMe) eklentisini şimdi kullanamıyorum.)

  1. Vim 8.0'ı aşağıdaki komutlarda olduğu gibi yükledim.

  2. Ubuntu 16.04 (Xenial Xerus) kullanıyorum.

Bu problemi nasıl çözebilirim?

sudo add-apt-repository ppa:jonathonf/vim
sudo apt update
sudo apt install vim

Resim tanımını buraya girin


1
Görünüşe göre Vim'in bu sürümü Python desteği olmadan derlendi. Bu konuda yapabileceğin bir sürü şey yok. Ubuntu'da en son Vim sürümünü çalıştırmak istiyorsanız, kendiniz derlemek muhtemelen en kolay seçenektir.
Martin Tournoij 11:16

2
Python yok, yakut yok, perl yok, pano yok… bu yapı işe yaramaz. Yüklemek eğer ne alabilirim vim-gtkyerine vim?
romainl

1
@Carpetsmoker Nasıl kendi başıma derleyebilirim? Biraz açıklayabilir misin ya da bana bir link verebilir misin?
Hyun Ho Yeo,

@romainl Vim 8.0'ı destekleyen vim-gtk var mı?
Hyun Ho Yeo,

Evet, bu ppa'da.
romainl

Yanıtlar:


14

Pi-rho / dev PPA şimdi Vim 8 destekler ve her zaman olduğu gibi, Python / Python3 için destek içerir:

$ vim --version | grep python
+cryptv          +linebreak       +python/dyn      +vreplace
+cscope          +lispindent      +python3/dyn     +wildignore
$ apt-cache policy vim   
vim:
  Installed: 2:8.0.0134-1ubuntu1~ppa1~x
  Candidate: 2:8.0.0134-1ubuntu1~ppa1~x
  Version table:
 *** 2:8.0.0134-1ubuntu1~ppa1~x 500
        500 http://ppa.launchpad.net/pi-rho/dev/ubuntu xenial/main amd64 Packages
        100 /var/lib/dpkg/status
     2:7.4.1689-3ubuntu1.2 500

Geç saatlerde, pi-rho/devPPA Vim’in kurulumlarını güncellememiştir. Kullandığım jonathonf/backportsşimdi PPA:

$ vim --version | grep python
+comments          +libcall           -python            +vreplace
+conceal           +linebreak         +python3           +wildignore
$ apt-cache policy vim-gnome
vim-gnome:
  Installed: 2:8.0.1542-0york1~16.04
  Candidate: 2:8.0.1542-0york1~16.04
  Version table:
 *** 2:8.0.1542-0york1~16.04 500
        500 http://ppa.launchpad.net/jonathonf/vim/ubuntu xenial/main amd64 Packages
        500 http://ppa.launchpad.net/jonathonf/vim/ubuntu xenial/main i386 Packages
        100 /var/lib/dpkg/status
     2:7.4.1689-3ubuntu1.2 500
        500 http://jp.archive.ubuntu.com/ubuntu xenial-updates/main amd64 Packages
        500 http://security.ubuntu.com/ubuntu xenial-security/main amd64 Packages
     2:7.4.1689-3ubuntu1 500
        500 http://jp.archive.ubuntu.com/ubuntu xenial/main amd64 Packages

PPA ayrıca diğer birkaç paketin daha yeni sürümlerini içerir.


♦ Teşekkürler, alternatif olarak vim-nox kullandım. Bunu denemeliyim.
Hyun Ho Yeo

vim8 nasıl kurulur? sudo apt-get install vimPPA'yı ekledim ama yürütmek beni piridin olmadan vim7 alıyor
weima

@weima bir apt-get updatePPA ekledikten sonra yaptınız mı ?
Andrei Bârsan

1
jonathonf / backports artık vim
yapısına


8

Sorunuzdan anlaşılır ki, eklentileri olmayan çok az bir Vim çalışma zamanı olan vim-tiny 8.0'i kurdunuz. Bunu kullanarak bunu onaylayabilirsiniz:

dpkg -l | grep vim

Birkaç Vim çalışma süresine sahip olabilirsiniz, ancak yaptığınız zaman çalışan vimsürüm burada belirtilenleri göreceksiniz:

update-alternatives --list vim

Diğer sürümleri kontrol edebilirsiniz. Benim önerim, GUI desteğiyle tam sürümler arasında karar vermeniz ve vim-gtk2/vim-gtk3paketler arasında seçim yapabilmeniz veya vim-noxtam sürüm, ancak bir GUI olmadan karar vermeniz .

Şimdi, IIRC, Debian / Ubuntu'daki Vim tam sürümü, 7.x sürümlerinde aynı anda Python 2 AND Python 3 ile birlikte gelmiyor. Vim 8 ile durumun nasıl olduğunu bilmiyorum, çünkü neovimşimdi kullanıyorum. Bu sizin için geçerliyse ve Vim 8 tarafından desteklenen BOTH Python motorlarına ihtiyacınız olacak (bu sizin kullanımınız için geçerli olmayacak YouCompleteMe; bu sadece Python 2 desteğiyle çalışıyor), o zaman kendi Vim'inizden kaynak derlemeniz gerekecektir. 8.0.


Topraklar Teşekkürler, vim-nox'u kurdum, ancak bir gün kaynaklardan derlemeye çalışacağım.
Hyun Ho Yeo

6

kullanmalısın

sudo apt-get install vim-nox

Bunun yerine, bir "büyük sürüm" almak için.


8.0 veya üstü vim kullanmak istiyorum. Bunu destekleyen vim.nox var mı?
Hyun Ho Yeo,

@HyunHoYeo Ubuntu'da vim-nox'a benziyor 16.04 vim 8.0 (kurduktan sonra kontrol ederek yapabilirim vim --versionve aldımVIM - Vi IMproved 8.0 (2016 Sep 12, compiled Feb 05 2017 20:17:49)
jamescampbell

@jamescampbell Teşekkürler, Ubuntu'mu 16.04 sürümüne yükselttim ve indirdim.
Hyun Ho Yeo

5

Vim'i kaynaktan kurmalısınız. Bu şekilde, dahil edilenler üzerinde kontrol sizde. Daha fazla bilgi ve adım adım ilerlemek için aşağıya bakın. Bu nispeten kolaydır.

https://github.com/Valloric/YouCompleteMe/wiki/Building-Vim-from-source
https://github.com/vim/vim

Gelecekte değişebileceğinden, yalnızca sorularına cevap vermeyen insanları bırakabileceğinden, yalnızca bağlantı içeren bir yanıt göndermekten kaçının. En azından link verilen sayfadaki temel kısımları dahil et
EvergreenTree

5

1. Çözüm:

  • VIM Düzenleyicisini Kur (vim varyantlarından birini yükle):

    • vim-gtk3 : - Bu paket, GTK3 GUI ile derlenmiş bir vim sürümü ve Lua, Perl, Python, Ruby ve Tcl ile komut dosyası için destek içerir. Bu paketi kurmak için:

      sudo apt install vim-gtk3   
    • vim-gtk : - Bu paket, GTK2 GUI ile derlenmiş bir vim sürümü ve Lua, Perl, Python, Ruby ve Tcl ile komut dosyası desteğini içerir. Bu paketi kurmak için:

      sudo apt install vim-gtk   
    • vim-nox : - geliştirilmiş vi düzenleyici Vim-tiny gibi, vim-nox da Lua, Perl, Python, Ruby ve Tcl ile komut dosyası için minimum GUI kurulumu ve desteğidir ancak GUI içermez. Fare desteği ile birlikte gelir, ancak pano desteği yoktur, IIRC. Bu paketi kurmak için:

      sudo apt install vim-nox
  • Vim'i varsayılan düzenleyici olarak ayarla (yüklü değişkenlerin vim-gtk3 olduğunu varsayarak )

    sudo update-alternatives --install /usr/bin/editor editor /usr/bin/vim.gtk3 1   
    sudo update-alternatives --set editor /usr/bin/vim.gtk3   
    sudo update-alternatives --install /usr/bin/vi vi /usr/bin/vim.gtk3 1  
    sudo update-alternatives --set vi /usr/bin/vim.gtk3   
    sudo update-alternatives --install /usr/bin/vi vim /usr/bin/vim.gtk3 1  
    sudo update-alternatives --set vim /usr/bin/vim.gtk3    

2. Çözüm:

Aksi takdirde, Vim'i kaynak kodundan derleyebilirsiniz (Debian tabanlı bir sistem kullandığınızı varsayarak)

Sisteminizi hazırlayın

  • kurmak

    sudo apt install libncurses5-dev \
    libgtk2.0-dev libatk1.0-dev \
    libcairo2-dev python-dev \
    python3-dev git
  • Zaten sahipseniz Vim'i kaldırın

    sudo apt remove vim vim-runtime gvim  

yapılandır ve yap

cd /usr && sudo git clone https://github.com/vim/vim.git && cd vim  

sudo ./configure --with-features=huge \
--enable-multibyte \
--enable-pythoninterp=yes \
--with-python-config-dir=/usr/lib/python2.7/config-x86_64-linux-gnu/ \  # pay attention here check directory correct
--enable-python3interp=yes \
--with-python3-config-dir=/usr/lib/python3.5/config-3.5m-x86_64-linux-gnu/ \  # pay attention here check directory correct
--enable-gui=gtk2 \
--enable-cscope \ 
--prefix=/usr/local/

sudo make VIMRUNTIMEDIR=/usr/local/share/vim/vim81 

Kullanılarak deb paket hazırlama checkinstall

  • Ve bu paketi kur

    cd /usr/vim && sudo checkinstall
  • Veya, yalnızca --install=nocheckinstall ile paket kullanım seçeneği oluşturmak istiyorsanız

Vim'i varsayılan düzenleyici olarak ayarla

sudo update-alternatives --install /usr/bin/editor editor /usr/local/bin/vim 1
sudo update-alternatives --set editor /usr/local/bin/vim
sudo update-alternatives --install /usr/bin/vi vi /usr/local/bin/vim 1
sudo update-alternatives --set vi /usr/local/bin/vim   

Yeni Vim ikilisini çalıştırdığınızı doğrulayın.

vim --version | grep python

Referanslar:
- Kaynağından Vim Oluşturma
- checkinstall
- VIM çeşitleri


+1 içinsudo apt install vim-nox
Philippe Gachoud

1

Az önce kontrol ettikten sonra, PPA'dan temin edilebilen vim-nox (v. 8.1) Python 3 ile derlendi (her ikisine de ihtiyacınız yoksa gerçekten ikisine de ihtiyacınız varsa Neovim'e geçmenizi öneririm).


0

Bu sadece benzer sorunu yaşayan Windows çalışanları içindir:

Windows 64-bit'te, VIM'inizle aynı bit python sürümünü yüklemeniz GEREKİR. vb.

32bit vim => 32bit python
64bit vim => 64bit python

Aksi takdirde python2x.dll veya python3x.dll yüklenmez.


OP, Python'suz derlenmiş bir vim binary kullanıyordu. Ek olarak, Windows'ta değil Linux üzerinde kullanıyor.
Herb Wolfe

@HerbWolfe evet biliyorum. Bu uygun olmayabilir, ancak çözümü için bu postayı vuran bazı pencereler için buraya koydum. Bu sorunu çözmek için saatler harcadım ve başkalarında da aynı zamana sahip olmak istiyorum. Ama hatırlattığın için teşekkür ederim.
Danniel Küçük
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.