Làm cách nào để cài đặt vim trên OSX với hỗ trợ Python 3?


20

Trong các tìm kiếm google tôi đã thực hiện, lệnh tôi nên sử dụng là brew install vim --with-python3, thành công mà không có lỗi, nhưng sau đó vim --versionbáo cáo Python 3 là không có sẵn.

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

Và làm :py3 print("")trong vòng vim trở lại E319: Sorry, the command is not available in this version.

Tôi đang làm gì vậy? Tôi có cần phải tự biên dịch vim không?


1
Bạn đã thử brew install vim --without-python --with-python3(có nghĩa là, xác định rõ ràng --without-pythonlà tốt).
sIDIAbarker

1
Có, nhưng điều đó đã không làm việc. Tôi cần gỡ bỏ hoàn toàn vim và làm brew cleanup, sau đó brew install vim --with-python3làm việc.
Adam Barnes

Bạn đã có cơ hội tìm ra giải pháp chưa, @AdamBarnes? Vì một số lý do, hiện tại tôi không thể xây dựng vim8 của Homebrew --with-python3...
NHƯ

Tôi sẽ thử brew remove vimsau đó brew cleanup, sau đó thử lệnh được liệt kê trong nhận xét của tôi từ 21/08. Nếu nó không hoạt động thì tôi không biết; Tôi khá tin rằng công việc của tôi bây giờ là một sự may mắn - do đó không đăng bình luận của tôi như một câu trả lời.
Adam Barnes

Câu trả lời:


18

Các hoạt động sau đây kể từ ngày 26 tháng 5 năm 2017 khi một -python3phiên bản của Vim đã được cài đặt thông qua homebrew:

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

2
bây giờ báo cáoWarning: vim: this formula has no --with-python3 option so it will be ignored!
Tommy

6
@ Mẹ ơi, đó là vì Python3 hiện là mặc định pythontrong Homebrew. Nếu bạn chạy brew info vim, bạn sẽ thấy rằng có một tùy chọn ( --with-python@2) để sử dụng Python2 thay vì Python3.
Michael

@ Mẹ tôi có thể suy luận thêm rằng bạn đang xem câu hỏi này ngày hôm nay bởi vì Homebrew gần đây đã được cài đặt hoặc nâng cấp python@2, có lẽ là một sự phụ thuộc và điều đó làm bối rối các tập lệnh Vim của bạn?
Michael

4

Tôi đã có cùng một vấn đề ngày hôm nay. Không vấn đề

brew install vim --with-python3

hoặc là

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

Vì vậy, tôi kiểm tra nhật ký của Homebrew tại ~/Library/Logs/Homebrew/vim, trong 01.configuretôi tìm thấy

checking Python is 3.0 or better... too old

Điều này là do cấu hình không thể tìm thấy đường dẫn của python3

Bằng cách thêm /usr/local/Cellar/python3/3.X.X/bin(đường dẫn của bạn có thể khác) vào nỗ lực của bạn PATHvà chạy lại, vim cuối cùng đã được biên dịch với+python3


1
Có vẻ như cài đặt vim với hỗ trợ brew và python 3 cũng yêu cầu python phải được cài đặt với brew và thiết lập trong đường dẫn.
đánh vào

3

Đã nhận được để làm cho nó hoạt động. Công thức vim cài đặt vim với python3 chỉ hỗ trợ nếu python --version là phiên bản 3. Không quan trọng nếu brew cài đặt python cài đặt python phiên bản 3 (vì nó có trong nhị phân khác: python3)

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

Đây là các bước của tôi:

  1. alias python=python3
  2. brew install vim
  3. tại thời điểm này, tôi nhận được +python3trong vim --versionđầu ra
  4. unalias python

Dường như với tôi rằng bạn đang báo cáo rằng ai đó đã giúp nó thành công. Bạn có kinh nghiệm đầu tay với điều này? Bạn có thể giải thích những gì Adam cần làm để khiến nó hoạt động trên hệ thống của mình không?
Scott

@ Xin cảm ơn vì đã bình luận. Vâng, tôi đã thử điều này trước khi đăng câu trả lời. Dưới đây là các bước của tôi: 1. alias python=python32. brew install vim3. tại thời điểm này, tôi nhận được +python3vim --versionđầu ra 4.unalias python
Ali Cirik

Cảm ơn vì đã phản hồi. Vui lòng chỉnh sửa câu trả lời của bạn để bao gồm các thông tin liên quan. (Bạn sẽ có thể định dạng nó tốt hơn ở đó.)
Scott

2

Kể từ phiên bản 1.6.0 của Homebrew (2018-04-09), phiên bản python mặc định là 3. Do đó, nếu bạn đã cài đặt phiên bản vim trước khi thay đổi này được biên dịch với python2, bạn cần làm gì ngay bây giờ để có vim với python3 đơn giản là:

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

2

Một cách khác để cài đặt Vim với hỗ trợ Python3 là sử dụng porttừ Dự án MacPorts :

Để kiểm tra có bao nhiêu biến thể có sẵn cho VIM và xung đột của chúng:

port variant vim

Để cài đặt vim với hỗ trợ python3:

sudo port install vim +python37

Và để gỡ cài đặt, chỉ cần:

sudo port uninstall vim

Cảm ơn, vì tôi --with-python3đã không làm việc với brew nhưng việc sử dụng các cổng đã tạo nên mánh khóe.
user2456012

0

Đó là bởi vì đã có một cài đặt vimtrong hệ thống của bạn thường được tìm thấy trong/usr/loca/vim

$ which vim

Bạn có thể thử ls /usr/local/Cellar/vim/7.4.2210và xem những thư mục có sẵn. Trong hệ thống của tôi, trong thư mục đó tôi có bin/vim, vì vậy tôi cập nhật .zshrctệp RC của tôi hoặc tương tự trong hệ điều hành của bạn, cập nhật nó dưới dạng

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

Khi bạn mở một thiết bị đầu cuối mới, sau đó

which vim

Nó sẽ hiển thị đường dẫn cập nhật. Vì vậy, bạn có thể sử dụng python3 bên trong nó.


0

Tính đến tháng 10 năm 2017 này hoạt động.

Nếu trước đây bạn đã cài đặt vim với homebrew, hãy gỡ cài đặt nó trước

brew remove vim
brew cleanup

Sau đó

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

5
vim: this formula has no --with-python3
đánh vào

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.