Як встановити vim на OSX з підтримкою Python 3?


20

У пошуку Google, який я виконував, команда, яку я повинен використовувати, - це brew install vim --with-python3, яка успішно проходить без помилок, але потім vim --versionповідомляє Python 3 як недоступний.

k162:~ asday$ brew install vim --with-python3
==> Using the sandbox
==> Downloading https://github.com/vim/vim/archive/v7.4.2210.tar.gz
Already downloaded: /Users/asday/Library/Caches/Homebrew/vim-7.4.2210.tar.gz
==> ./configure --prefix=/usr/local --mandir=/usr/local/Cellar/vim/7.4.2210/share/man --enable-multibyte --with-tlib=ncurses --enable-cscope --with-compiledby=Homebrew --enable-p
==> make
==> make install prefix=/usr/local/Cellar/vim/7.4.2210 STRIP=true
🍺  /usr/local/Cellar/vim/7.4.2210: 1,732 files, 28.5M, built in 52 seconds
k162:~ asday$ vim --version
VIM - Vi IMproved 7.3 (2010 Aug 15, compiled Oct 27 2015 16:22:14)
Compiled by root@apple.com
Normal version without GUI.  Features included (+) or not (-):
-arabic +autocmd -balloon_eval -browse +builtin_terms +byte_offset +cindent
-clientserver -clipboard +cmdline_compl +cmdline_hist +cmdline_info +comments
-conceal +cryptv +cscope +cursorbind +cursorshape +dialog_con +diff +digraphs
-dnd -ebcdic -emacs_tags +eval +ex_extra +extra_search -farsi +file_in_path
+find_in_path +float +folding -footer +fork() -gettext -hangul_input +iconv
+insert_expand +jumplist -keymap -langmap +libcall +linebreak +lispindent
+listcmds +localmap -lua +menu +mksession +modify_fname +mouse -mouseshape
-mouse_dec -mouse_gpm -mouse_jsbterm -mouse_netterm -mouse_sysmouse
+mouse_xterm +multi_byte +multi_lang -mzscheme +netbeans_intg -osfiletype
+path_extra -perl +persistent_undo +postscript +printer -profile +python/dyn
-python3 +quickfix +reltime -rightleft +ruby/dyn +scrollbind +signs
+smartindent -sniff +startuptime +statusline -sun_workshop +syntax +tag_binary
+tag_old_static -tag_any_white -tcl +terminfo +termresponse +textobjects +title
 -toolbar +user_commands +vertsplit +virtualedit +visual +visualextra +viminfo
+vreplace +wildignore +wildmenu +windows +writebackup -X11 -xfontset -xim -xsmp
 -xterm_clipboard -xterm_save
   system vimrc file: "$VIM/vimrc"
     user vimrc file: "$HOME/.vimrc"
      user exrc file: "$HOME/.exrc"
  fall-back for $VIM: "/usr/share/vim"
Compilation: gcc -c -I. -D_FORTIFY_SOURCE=0 -Iproto -DHAVE_CONFIG_H -arch i386 -arch x86_64 -g -Os -pipe
Linking: gcc -arch i386 -arch x86_64 -o vim -lncurses

І робити :py3 print("")всередині vim повертається E319: Sorry, the command is not available in this version.

Що я роблю неправильно? Чи потрібно мені самому складати vim?


1
Ви спробували brew install vim --without-python --with-python3(тобто явно вкажіть --without-pythonтакож).
sidehowbarker

1
Так, але це не спрацювало. Мені потрібно було видалити vim повністю і зробити brew cleanup, а потім brew install vim --with-python3працював.
Адам Барнс

Ви випадково вирішили рішення, @AdamBarnes? З якихось причин я зараз не в змозі створити vim8 Homebrew --with-python3...
AS

Я б спробував brew remove vimтоді brew cleanup, а потім спробуйте команду, вказану в моєму коментарі від 21/08. Якщо це не працює, то я не маю уявлення; Я досить впевнений, що робота над моєю роботою зараз є дивною, тому мій коментар не публікується як відповідь.
Адам Барнс

Відповіді:


18

Дані працює з 26 травня 2017 року, коли -python3версія Vim вже встановлена ​​через домашню мову:

brew remove vim
brew cleanup
brew install vim --with-python3

2
про це тепер повідомляєWarning: vim: this formula has no --with-python3 option so it will be ignored!
Томмі

6
@Tommy, це тому, що Python3 зараз є замовчуванням pythonу Homebrew. Якщо ви запустите brew info vim, ви побачите, що є можливість ( --with-python@2) використовувати Python2 замість Python3.
Майкл

@Tommy Чи можу я далі зробити висновок, що ви сьогодні дивитесь на це питання, тому що Homebrew нещодавно встановлений або оновлений python@2, можливо, як залежність, і це бентежить ваші сценарії Vim?
Майкл

4

У мене сьогодні те саме питання. Неважливо

brew install vim --with-python3

або

brew install vim --without-python --with-python3

Тому я перевіряю журнали Homebrew у ~/Library/Logs/Homebrew/vim, 01.configureя знайшов

checking Python is 3.0 or better... too old

Це тому, що конфігурація не може знайти шлях python3

Додавши /usr/local/Cellar/python3/3.X.X/bin(ваш шлях може бути різним) до вашої PATHобстановки та повторно запустити, vim нарешті був складений+python3


1
Здається, що для встановлення vim з brew та підтримкою python 3 також потрібно встановити python за допомогою brew та встановити на шляху.
заплив

3

Вже дістати, щоб це працювало. Формула vim встановлює vim з підтримкою python3 лише у тому випадку, якщо python --version є версія 3. Не має значення, якщо Brew встановити python встановити python версії 3 (тому що це робиться в іншому бінарному: python3)

Від: https://www.reddit.com/r/vim/comments/8iymh8/vim_in_osx_with_python3_support/dyx1b94/

Ось мої кроки:

  1. alias python=python3
  2. brew install vim
  3. в цей момент, я отримую +python3в vim --versionвихідний
  4. unalias python

Мені здається, ви доповідаєте, що хтось інший отримав це, щоб досягти успіху. Чи маєте ви з цього досвід з перших рук? Чи можете ви пояснити, що Адам повинен зробити, щоб він працював над своєю системою?
Скотт

@Scott дякую за коментар. Так, я спробував це, перш ніж публікувати відповідь. Ось мої кроки: 1. alias python=python32. brew install vim3. в цей момент, я отримую +python3в vim --versionвихідний 4.unalias python
Алі Cirik

Дякуємо за відгук. Будь ласка , змініть свій відповідь , щоб включити відповідну інформацію. (Ви зможете там її краще відформатувати.)
Скотт,

2

Оскільки версія 1.6.0 Homebrew (2018-04-09), версія за замовчуванням python становить 3. Отже, якщо у вас встановлена ​​версія vim перед цією зміною, яка компілюється з python2, що вам потрібно зробити зараз, щоб отримати vim З python3 просто:

$ vim --version | grep python
$ brew uninstall --force vim
$ brew cleanup
$ brew install vim
$ vim --version | grep python

2

Ще один спосіб встановлення Vim з підтримкою Python3 - це використання portв проекті MacPorts :

Щоб перевірити, скільки варіантів доступно для VIM та їх конфлікт:

port variant vim

Щоб встановити vim з підтримкою python3:

sudo port install vim +python37

А щоб видалити, просто:

sudo port uninstall vim

Дякую, для мене --with-python3не працювало з пивом, але використання портів зробило трюк.
user2457012

0

Це тому, що vimу вашій системі вже було встановлено, що зазвичай знаходиться в/usr/loca/vim

$ which vim

Ви можете спробувати ls /usr/local/Cellar/vim/7.4.2210подивитися, які папки доступні. У моїй системі в цьому каталозі у мене є bin/vim, тому я оновлюю мій .zshrcабо подібний файл rc у вашому ОС, оновлюю його як

alias 'vim'=/usr/local/Cellar/vim/7.4.2210/bin/vim

Коли ви відкриєте новий термінал, значить

which vim

Він покаже шлях оновлення. Таким чином, ви можете використовувати python3 всередині нього.


0

Станом на жовтень 2017 року це працює.

Якщо ви раніше встановили vim з домашньою мовою, спочатку видаліть його

brew remove vim
brew cleanup

Потім

brew install vim --without-python --with-python3

5
vim: this formula has no --with-python3
заплив

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