Ubuntu 16.04 VIM без підтримки python!


22

Хоча в примітках до випуску Ubuntu 16.04 згадується таке:

Пакет VIM за замовчуванням був побудований проти python3 замість python2.

Після встановлення vim наступною командою:

sudo apt-get install vim

І перевірив:

vim --version

Це показало:

-python
-python3

Це помилка? Як отримати vim із підтримкою Python?

Відповіді:


27

Якщо ви хочете підтримати Python 3 in vim, встановіть vim-noxпакунок ( sudo apt install vim-nox), див. Редагування нижче .

Однак якщо вам все ще потрібна підтримка Python 2, встановіть vim-nox-py2пакунок ( sudo apt install vim-nox-py2).

Редагувати : vimнещодавно оновлено, щоб виправити цю проблему, і вам більше не потрібно буде встановлювати vim-noxпакет, щоб отримати підтримку Python 3.


1
так, я це зробив .. але чому пакет vim не підтримує python?
Saprativa Bhattacharjee

Ubuntu розділив підтримку Python з основного пакету на два інші пакети: один, який підтримує Python 2, і той, який підтримує Python 3. Після встановлення одного з вищевказаних пакетів, ви зможете використовувати vim з підтримкою Python 2/3.
saiarcot895

1
Чи не дивно, що сам пакет vim не підтримує жодного з пітонів? у примітках до випуску згадується інакше. wiki.ubuntu.com/XenialXerus/ReleaseNotes
Saprativa Bhattacharjee

@ saiarcot895 Це, мабуть, працює для мене. Але де ви перекопали цю інформацію? Чи є вікі-файли Ubuntu, які документують, як вони поширюють речі?
qweruiop

2
Просто хотів додати, що після установки vim-nox-py2мені потрібно було запустити sudo update-alternatives --set vim /usr/bin/vim.nox-py2. Я вважаю, будь ласка, виправте мене інакше, без цього vimвказується vim.tinyчи якийсь такий пакет, який не має підтримки python.
DBS

3

У 17.10-18.10 важко отримати копію vim із підтримкою python2 та python3. У налаштуваннях PPA від pi-rho є такі пакети для попередніх випусків, але нічого ще для 17.10 та пізніших.

Це те, що я зробив, щоб запустити пакети pi-rho:

  1. видаліть усі пакети vim (це змусить вас видалити "ubuntu-minim")
  2. завантажуйте звідси пакунки vim, які закінчуються в "~ z"
  3. завантажте пакети perl-module-5.24 , libgdbm3 та libperl5.24
  4. встановіть їх за допомогою dpkg: перейдіть до каталогу завантажень і виконайте 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. перевстановіть "ubuntu-minimal": sudo apt install ubuntu-minimal
  6. заблокувати версію vim
    • відкрийте диспетчер синаптичних пакетів і виділіть пакети vim, які ви тільки що встановили. Перейдіть до пакету -> "Блокування версії"
    • Вам також може знадобитися "утримувати" пакунки sudo apt-mark holdдля кожного з цих пакетів (наприклад sudo apt-mark hold vim-common vim-gnome)

2

Спробуйте встановити vim-gnome замість vim.

sudo apt-get install vim-gnome

Якщо це може допомогти, ви можете встановити пакет python-support, завантаживши туди останню версію python-support_X.X.X_all.deb: https://launchpad.net/ubuntu/+source/python-support Відкрити термінал у ту ж папку та встановити за допомогою:

dpkg -i python-support_X.X.X_all.deb

Подивіться, чи допомагає це


це версія gui?
Saprativa Bhattacharjee

1

У Ubuntu 17.10 компіляція - це рішення, яке працювало для мене:

Безпосередньо натхненний цією суттю , я зробив наступне:

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

Не забудьте адаптувати ./configureпараметри, щоб у вас були всі інші необхідні функції.

Тепер ви можете відкрити vim і запустити команду, :echo has('python')щоб підтвердити, що у вас включений python 2.


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.