Como instalo o vim no OSX com suporte ao Python 3?

20

Nas pesquisas do Google que fiz, o comando que devo usar é o brew install vim --with-python3que é bem-sucedido sem erros, mas depois vim --versionrelata o Python 3 como indisponível.

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 [email protected]
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

E fazer :py3 print("")dentro dos retornos vim E319: Sorry, the command is not available in this version.

O que estou fazendo de errado? Preciso compilar o vim?

Adam Barnes
fonte
1
Você tentou brew install vim --without-python --with-python3(ou seja, especificou explicitamente --without-pythontambém).
Sideshowbarker
1
Sim, mas isso não funcionou. Eu precisava desinstalar o vim completamente e fazê-lo brew cleanup, depois brew install vim --with-python3funcionou.
Adam Barnes
Você já imaginou a solução, @AdamBarnes? Por alguma razão, eu estou agora não construir vim8 do Homebrew --with-python3...
AS
Eu tentaria brew remove vimentão brew cleanup, depois tente o comando listado no meu comentário de 21/08. Se isso não funcionar, não faço ideia; Estou bastante convencido de que o meu trabalho agora é um acaso - portanto, não estou postando meu comentário como resposta.
9136 Adam Barnes #

Respostas:

18

O seguinte funciona em 26 de maio de 2017, quando uma -python3versão do Vim já está instalada via homebrew:

brew remove vim
brew cleanup
brew install vim --with-python3
jacob-ogre
fonte
2
agora isso informaWarning: vim: this formula has no --with-python3 option so it will be ignored!
Tommy
6
@ Tommy, é porque o Python3 agora é o padrão pythonno Homebrew. Se você executar brew info vim, verá que existe uma opção ( --with-python@2) para usar o Python2 em vez do Python3.
Michael
@ Tommy Posso deduzir ainda mais que você está analisando essa pergunta hoje porque o Homebrew recentemente instalou ou atualizou python@2, talvez como uma dependência, e está confundindo seus scripts Vim?
Michael
4

Eu tenho o mesmo problema hoje. Não importa

brew install vim --with-python3

ou

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

Então eu verificar os logs de Homebrew em ~/Library/Logs/Homebrew/vim, no 01.configurei encontrados

checking Python is 3.0 or better... too old

Isso ocorre porque o configure não consegue encontrar o caminho do python3

Ao adicionar /usr/local/Cellar/python3/3.X.X/bin(seu caminho pode ser diferente) ao seu PATHambiente e executar novamente, o vim finalmente foi compilado com+python3

Jayven
fonte
1
Parece que o instalador vim com suporte a brew e python 3 também requer que o python seja instalado com o brew e definido no caminho.
swade 16/03/19
3

Já conseguimos fazê-lo funcionar. A fórmula vim instala o vim com suporte ao python3 apenas se python --version for a versão 3. Não importa se o brew instala o python, instala o python versão 3 (porque ocorre em outro binário: python3)

De: https://www.reddit.com/r/vim/comments/8iymh8/vim_in_osx_with_python3_support/dyx1b94/

Aqui estão os meus passos:

  1. alias python=python3
  2. brew install vim
  3. neste ponto, eu recebo +python3a vim --versionsaída
  4. unalias python
Ali Cirik
fonte
Parece-me que você está relatando que outra pessoa conseguiu. Você tem experiência em primeira mão com isso? Você pode explicar o que Adam precisa fazer para que ele funcione em seu sistema?
30418 Scott
@ Scott agradece pelo comentário. Sim, eu tentei isso antes de postar a resposta. Aqui estão os meus passos: 1. alias python=python32. brew install vim3. Neste ponto, recebo +python3a vim --versionsaída 4.unalias python
Ali Cirik 30/10/18
Obrigado por responder. Por favor edite sua resposta para incluir as informações relevantes. (Você poderá formatá-lo melhor lá.) #
313 Scott #
2

Desde a versão 1.6.0 do Homebrew (2018-04-09), a versão padrão do python é 3. Portanto, se você possui uma versão do vim instalada antes dessa alteração, que é compilada com python2, o que você precisa fazer agora para obter o vim com python3 é simplesmente:

$ vim --version | grep python
$ brew uninstall --force vim
$ brew cleanup
$ brew install vim
$ vim --version | grep python
Erik Westrup
fonte
2

Outra maneira de instalar Vim com o apoio Python3 é usando portde O Projeto MacPorts :

Para verificar quantas variantes disponíveis para o VIM e seus conflitos:

port variant vim

Para instalar o vim com o suporte python3:

sudo port install vim +python37

E para desinstalar, apenas:

sudo port uninstall vim
YaOzI
fonte
Obrigado, por mim --with-python3não estar trabalhando com cerveja, mas o uso de portas fez o truque.
User2457012 02/04
0

É porque já havia um instalado vimno seu sistema que normalmente é encontrado em/usr/loca/vim

$ which vim

Você pode tentar ls /usr/local/Cellar/vim/7.4.2210ver quais pastas estão disponíveis. No meu sistema, nesse diretório que tenho bin/vim, atualizo meu .zshrcarquivo rc ou semelhante no seu sistema operacional e atualizo-o como

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

Quando você abre um novo terminal,

which vim

Ele mostrará o caminho da atualização. Então você pode usar o python3 dentro dele.

ji-ruh
fonte
0

Em outubro de 2017, isso funcionou.

Se você já instalou o vim com homebrew, desinstale-o primeiro

brew remove vim
brew cleanup

Então

brew install vim --without-python --with-python3
aeb0
fonte
5
vim: this formula has no --with-python3
swade 16/03/19
0

É possível que vimainda esteja resolvendo a versão instalada pela Apple. Consulte: /programming/33313708/apples-vim-always-used-instead-of-homebrew

Lyle
fonte
1
Você pode tentar echo $EDITORver se está definido como vi(apontando para o da Apple vim) ou vim, o que provavelmente é seu.
Michael