Jak zainstalować vim na OSX z obsługą Python 3?

20

W wyszukiwaniu w Google, którego użyłem, polecenie, którego powinienem użyć to polecenie brew install vim --with-python3, które kończy się niepowodzeniem bez błędów, ale następnie vim --versionzgłasza, że ​​Python 3 jest niedostępny.

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

I robi :py3 print("")w ramach zwrotów vima E319: Sorry, the command is not available in this version.

Co robię źle? Czy sam muszę skompilować vima?

Adam Barnes
źródło
1
Próbowałeś brew install vim --without-python --with-python3(to znaczy, wyraźnie również podać --without-python).
sideshowbarker,
1
Tak, ale to nie zadziałało. Musiałem całkowicie odinstalować vima i zrobić brew cleanup, a potem brew install vim --with-python3działało.
Adam Barnes
Czy przypadkiem wymyśliłeś rozwiązanie, @AdamBarnes? Z jakiegoś powodu nie udało mi się teraz zbudować vim8 Homebrew --with-python3...
AS
Spróbuję brew remove vimwtedy brew cleanup, a następnie wypróbuj polecenie wymienione w moim komentarzu z 21/08. Jeśli to nie zadziała, nie mam pojęcia; Jestem przekonany, że moja praca jest teraz fartuchem - dlatego nie zamieszczam mojego komentarza jako odpowiedzi.
Adam Barnes,

Odpowiedzi:

18

Poniższe działa od 26 maja 2017 r., Gdy -python3wersja Vima jest już zainstalowana przez homebrew:

brew remove vim
brew cleanup
brew install vim --with-python3
jacob-ogre
źródło
2
to teraz donosiWarning: vim: this formula has no --with-python3 option so it will be ignored!
Tommy
6
@Tommy, to dlatego, że Python3 jest teraz domyślny pythonw Homebrew. Jeśli uruchomisz brew info vim, zobaczysz, że istnieje opcja ( --with-python@2), aby użyć Python2 zamiast Python3.
Michael
@Tommy Czy mogę dalej wywnioskować, że zastanawiasz się nad tym pytaniem, ponieważ Homebrew niedawno zainstalowało lub zaktualizowało python@2, być może jako zależność, i to dezorientuje twoje skrypty Vima?
Michael
4

Mam dzisiaj ten sam problem. Bez znaczenia

brew install vim --with-python3

lub

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

Więc sprawdzam logi Homebrew w ~/Library/Logs/Homebrew/vim, 01.configureznalazłem

checking Python is 3.0 or better... too old

Wynika to z faktu, że config nie może znaleźć ścieżki python3

Dodając /usr/local/Cellar/python3/3.X.X/bin(twoja ścieżka może być inna) do twojego środowiska PATHi uruchom ponownie, vim w końcu się skompilował+python3

jayven
źródło
1
Wygląda na to, że instalacja vima z obsługą brew i python 3 wymaga również zainstalowania Pythona z brew i ustawienia na ścieżce.
przysięgam
3

Już muszę sprawić, żeby działało. formuła vim instaluje vim z obsługą python3 tylko wtedy, gdy python - wersja jest w wersji 3. Nie ma znaczenia, czy brew instaluje python instaluje python w wersji 3 (ponieważ robi to w innym pliku binarnym: python3)

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

Oto moje kroki:

  1. alias python=python3
  2. brew install vim
  3. w tym momencie dostaję +python3dane vim --versionwyjściowe
  4. unalias python
Ali Cirik
źródło
Wydaje mi się, że zgłaszasz, że ktoś inny osiągnął sukces. Czy masz z tego doświadczenie z pierwszej ręki? Czy możesz wyjaśnić, co Adam musi zrobić, aby działał w swoim systemie?
Scott
@Scott dzięki za komentarz. Tak, próbowałem tego przed opublikowaniem odpowiedzi. Oto moje kroki: 1. alias python=python32. brew install vim3. W tym momencie dostaję +python3dane vim --versionwyjściowe 4.unalias python
Ali Cirik
Dziękuję za odpowiedź. Proszę edytować swoje odpowiedzi na to istotne informacje. (Będzie można tam lepiej sformatować.)
Scott
2

Od wersji 1.6.0 Homebrew (2018-04-09) domyślną wersją Pythona jest 3. Zatem jeśli masz wersję vima zainstalowaną przed tą zmianą, która jest skompilowana z python2, co musisz zrobić teraz, aby uzyskać vima z python3 jest po prostu:

$ vim --version | grep python
$ brew uninstall --force vim
$ brew cleanup
$ brew install vim
$ vim --version | grep python
Erik Westrup
źródło
2

Innym sposobem zainstalowania Vima z obsługą Python3 jest skorzystanie portz The MacPorts Project :

Aby sprawdzić, ile wariantów jest dostępnych dla VIM i ich konfliktu:

port variant vim

Aby zainstalować vim z obsługą python3:

sudo port install vim +python37

Aby odinstalować, wystarczy:

sudo port uninstall vim
YaOzI
źródło
Dzięki, dla mnie --with-python3nie pracowałem z naparami, ale załatwienie sprawiło mi przyjemność.
user2457012
0

Jest tak, ponieważ vimw systemie był już zainstalowany program , który zwykle można znaleźć w/usr/loca/vim

$ which vim

Możesz spróbować ls /usr/local/Cellar/vim/7.4.2210sprawdzić, które foldery są dostępne. W moim systemie, w tym katalogu mam bin/vim, więc aktualizuję mój .zshrclub podobny plik rc w twoim systemie operacyjnym , aktualizuję go jako

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

Kiedy otworzysz nowy terminal, to

which vim

Pokaże ścieżkę aktualizacji. Możesz więc użyć zawartego w nim python3.

ji-ruh
źródło
0

Od października 2017 r. Działa.

Jeśli wcześniej zainstalowałeś vim z homebrew, najpierw go odinstaluj

brew remove vim
brew cleanup

Następnie

brew install vim --without-python --with-python3
aeb0
źródło
5
vim: this formula has no --with-python3
przysięgam
0

Możliwe, że vimnadal rozwiązuje się to wersja zainstalowana przez Apple. Zobacz: /programming/33313708/apples-vim-always-used-instead-of-homebrew

Lyle
źródło
1
Możesz spróbować echo $EDITORsprawdzić, czy jest ustawiony na vi(wskazując na Apple vim) lub vim, który prawdopodobnie jest twój.
Michael