web-dev-qa-db-fra.com

Comment installer vim sur OSX avec le support Python 3?

Dans les recherches google que j'ai effectuées, la commande que je devrais utiliser est brew install vim --with-python3, qui réussit sans erreur, mais vim --version indique alors que Python 3 est indisponible.

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

Et faire :py3 print("") dans vim retourne E319: Sorry, the command is not available in this version.

Qu'est-ce que je fais mal? Dois-je compiler vim moi-même?

19
Adam Barnes

Ce qui suit fonctionne à partir du 26 mai 2017 lorsqu'une version -python3 de Vim est déjà installée via homebrew:

brew remove vim
brew cleanup
brew install vim --with-python3
16
jacob-ogre

J'ai le même problème aujourd'hui. Peu importe

brew install vim --with-python3

ou

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

Donc, je vérifie les journaux de Homebrew à ~/Library/Logs/Homebrew/vim, dans 01.configure j'ai trouvé

checking Python is 3.0 or better... too old

En effet, configure ne peut pas trouver le chemin de python3

En ajoutant /usr/local/Cellar/python3/3.X.X/bin (votre chemin peut être différent) à votre envoi PATH et à le réexécuter, vim a finalement été compilé avec +python3

4
jayven

Déjà arriver à le faire fonctionner. La formule vim installe vim avec le support python3 uniquement si python --version est la version 3. Peu importe si brew installe python installe python version 3 (car cela se fait dans un autre binaire: python3)

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

Voici mes étapes:

  1. alias python=python3
  2. brew install vim
  3. à ce stade, j'obtiens +python3 dans la sortie vim --version
  4. unalias python
3
Ali Cirik

Depuis la version 1.6.0 de Homebrew (2018-04-09), la version python par défaut est 3. Ainsi, si vous avez une version de vim installée Avant cette modification, compilée avec Python2, vous devez maintenant effectuer vim avec Python3:

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

Un autre moyen d'installer Vim avec le support Python3 consiste à utiliser port à partir de du projet MacPorts :

Pour vérifier le nombre de variantes disponibles pour VIM et leur conflit:

port variant vim

Pour installer vim avec le support python3:

Sudo port install vim +python37

Et pour désinstaller, il suffit de:

Sudo port uninstall vim
1
YaOzI

C'est parce qu'il y avait une vim déjà installée dans votre système qui se trouve normalement dans /usr/loca/vim

$ which vim

Vous pouvez essayer ls /usr/local/Cellar/vim/7.4.2210 et examiner quels dossiers sont disponibles. Dans mon système, dans ce répertoire, j’ai bin/vim, je mets donc à jour mon .zshrc ou un fichier rc similaire dans votre système d’exploitation.

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

Lorsque vous ouvrez un nouveau terminal, alors

which vim

Il montrera le chemin de mise à jour. Donc, vous pouvez utiliser le python3 à l'intérieur.

0
ji-ruh

Il est possible que vim soit toujours en train de résoudre la version installée par Apple. Voir: https://stackoverflow.com/questions/33313708/apples-vim-always-used-instead-of-homebrew

0
Lyle

À partir d'octobre 2017, cela fonctionne.

Si vous avez déjà installé vim avec homebrew, désinstallez-le d'abord.

brew remove vim
brew cleanup

Ensuite

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