19

В поисках 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?

8 ответов8

16

Следующее работает с 26 мая 2017 года, когда версия Vim -python3 уже установлена через homebrew:

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

У меня сегодня такая же проблема. Независимо от того

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

Это потому, что configure не может найти путь к python3

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

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 устанавливает vim с поддержкой python3, только если версия python --version 3. Не имеет значения, если brew install 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
0

Другой способ установить Vim с поддержкой Python3 - использовать port из проекта MacPorts:

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

port variant vim

Чтобы установить vim с поддержкой python3:

sudo port install vim +python37

И чтобы удалить, просто:

sudo port uninstall vim
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

Возможно, vim по-прежнему разрешает версию, установленную Apple. См .: https://stackoverflow.com/questions/33313708/apples-vim-always-used-instead-of-homebrew

0

По состоянию на октябрь 2017 года это работает.

Если вы ранее установили vim с помощью homebrew, сначала удалите его

brew remove vim
brew cleanup

затем

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .