Перейти к содержимому

Как установить vim на OSX с поддержкой Python 3?

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?

12 247 просмотров
Adam Barnes спросил 10 лет назад
A 198

6 ответов

16
Принятый ответ

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

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

теперь это сообщает Warning: vim: эта формула не имеет опции --with-python3, поэтому она будет проигнорирована!

Tommy · 8 лет назад · 1

@ Tommy, это потому, что Python3 теперь по умолчанию python в Homebrew. Если вы запустите brew info vim, вы увидите, что есть опция ( --with-python @ 2) для использования Python2 вместо Python3.

Michael · 8 лет назад · 4

@ Tommy. Позвольте мне также сделать вывод, что вы смотрите на этот вопрос сегодня, потому что Homebrew недавно установил или обновил python @ 2, возможно, в качестве зависимости, и это мешает вашим скриптам Vim?

Michael · 8 лет назад · 0
jacob-ogre ответил 9 лет назад
J 176
2

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

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

Похоже, что установка vim с поддержкой brew и python 3 также требует установки python с brew и установки по пути.

Steven Wade · 8 лет назад · 1
jayven ответил 8 лет назад
J 121
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

Мне кажется, что вы сообщаете, что кто-то другой добился успеха. У вас есть опыт из первых рук с этим? Можете ли вы объяснить, что нужно сделать Адаму, чтобы заставить его работать в его системе?

Scott · 7 лет назад · 0

@ Скотт спасибо за комментарий. Да, я пробовал это перед публикацией ответа. Вот мои шаги: 1. alias python = python3 2. brew install vim 3. на этом этапе я получаю + python3 в выходных данных vim --version 4. unalias python

Ali Cirik · 7 лет назад · 0

Спасибо за ответ. Пожалуйста, [отредактируйте] свой ответ, чтобы включить соответствующую информацию. (Вы сможете лучше отформатировать его там.)

Scott · 7 лет назад · 0

Готово. Спасибо за помощь @Scott

Ali Cirik · 7 лет назад · 0
Ali Cirik ответил 7 лет назад
A 121
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 внутри него.

ji-ruh ответил 9 лет назад
J 141
0

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

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

brew remove vim brew cleanup 

затем

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

vim: эта формула не имеет --with-python3

Steven Wade · 8 лет назад · 3
aeb0 ответил 8 лет назад
A 116
0

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

Вы можете попробовать echo $ EDITOR, чтобы увидеть, установлено ли для него значение vi (указывающее на Apple 'vim) или vim`, которое, вероятно, принадлежит вам.

Michael · 7 лет назад · 1
Lyle ответил 8 лет назад
L 262