ฉันจะติดตั้ง vim บน OSX ด้วย Python 3 ได้อย่างไร


20

ในการค้นหาของ 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("")E319: Sorry, the command is not available in this version

ฉันทำอะไรผิด ฉันจำเป็นต้องรวบรวมเสียงเรียกเข้าของตัวเองหรือไม่?


1
คุณลองbrew install vim --without-python --with-python3(นั่นคือระบุอย่างชัดเจน--without-pythonเช่นกัน)
sideshowbarker

1
ใช่ แต่นั่นไม่ได้ผล ฉันต้องถอนการติดตั้งเป็นกลุ่มอย่างสมบูรณ์และทำbrew cleanupแล้วbrew install vim --with-python3ได้ผล
Adam Barnes

@AdamBarnes ช่วยคุณแก้ปัญหาได้หรือไม่? ด้วยเหตุผลบางอย่างผมตอนนี้ล้มเหลวในการสร้าง vim8 Homebrew ของ--with-python3...
AS

ฉันลองbrew remove vimแล้วbrew cleanupลองคำสั่งที่ระบุไว้ในความคิดเห็นของฉันจาก 21/08 ถ้านั่นไม่ได้ผลฉันก็ไม่มีความคิด ฉันเชื่อว่าการทำงานของฉันในตอนนี้เป็นความบังเอิญ - ดังนั้นจึงไม่โพสต์ความคิดเห็นของฉันเป็นคำตอบ
Adam Barnes

คำตอบ:


18

การทำงานต่อไปนี้ของวันที่ 26 พฤษภาคม 2017 เมื่อ-python3Vim รุ่นหนึ่งได้รับการติดตั้งผ่าน homebrew แล้ว:

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

2
ตอนนี้รายงานWarning: vim: this formula has no --with-python3 option so it will be ignored!
Tommy

6
@Tommy นั่นเป็นเพราะ Python3 เป็นค่าเริ่มต้นpythonใน Homebrew หากคุณเรียกใช้brew info vimคุณจะเห็นว่ามีตัวเลือก ( --with-python@2) เพื่อใช้ Python2 แทน Python3
Michael

@ ทอมมี่ฉันขออนุมานอีกต่อไปว่าคุณกำลังดูคำถามนี้ในวันนี้เพราะ Homebrew เพิ่งติดตั้งหรืออัปเกรดpython@2อาจเป็นการพึ่งพาและมันทำให้สคริปต์ Vim ของคุณสับสน
Michael

4

ฉันได้รับปัญหาเดียวกันวันนี้ ไม่เป็นไร

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

นี่เป็นเพราะการกำหนดค่าไม่พบเส้นทางของ python3

โดยการเพิ่ม/usr/local/Cellar/python3/3.X.X/bin(เส้นทางของคุณอาจแตกต่างกัน) ในPATHสภาพแวดล้อมของคุณและเรียกใช้อีกครั้งเสียงเรียกเข้าดังกล่าวก็ถูกคอมไพล์ด้วย+python3


1
ดูเหมือนว่าการติดตั้ง vim พร้อมการสนับสนุน brew และ python 3 ยังต้องการให้ python ติดตั้งด้วย brew และตั้งค่าในพา ธ
สาบาน

3

รับไปแล้วเพื่อให้มันทำงาน vim formula ติดตั้ง vim พร้อมรองรับ python3 เฉพาะในกรณีที่ python --version เป็นเวอร์ชัน 3 ไม่สำคัญว่าจะติดตั้ง brew ติดตั้ง 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 ขอบคุณสำหรับความคิดเห็น ใช่ฉันพยายามทำสิ่งนี้ก่อนโพสต์คำตอบ นี่คือขั้นตอนของฉัน: 1. alias python=python32. brew install vim3. ณ จุดนี้ฉันจะได้รับ+python3ในvim --versionผลลัพธ์ 4.unalias python
Ali Cirik

ขอขอบคุณที่ตอบกลับ โปรดแก้ไขคำตอบของคุณเพื่อรวมข้อมูลที่เกี่ยวข้อง (คุณจะสามารถจัดรูปแบบได้ดีขึ้นที่นั่น)
สกอตต์

2

ตั้งแต่เวอร์ชั่น1.6.0ของ Homebrew (2018-04-09) เวอร์ชันไพ ธ อนเริ่มต้นคือ 3 ดังนั้นหากคุณมีเวอร์ชันของ vim ติดตั้งอยู่ก่อนการเปลี่ยนแปลงนี้ซึ่งคอมไพล์ด้วย python2 สิ่งที่คุณต้องทำตอนนี้เพื่อรับ vim ด้วย python3 เพียง:

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

2

อีกวิธีในการติดตั้ง Vim ด้วยการรองรับ Python3 คือการใช้portจากโครงการ MacPorts :

ในการตรวจสอบว่ามีตัวแปรหลากหลายสำหรับ VIM และความขัดแย้ง:

port variant vim

ในการติดตั้ง vim ด้วยการสนับสนุน python3:

sudo port install vim +python37

และถอนการติดตั้งเพียง:

sudo port uninstall vim

ขอบคุณสำหรับฉัน--with-python3ไม่ได้ทำงานกับชง แต่ใช้พอร์ตทำให้เคล็ดลับ
user2457012

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 ข้างในได้


0

เมื่อวันที่ตุลาคม 2017 งานนี้

หากคุณติดตั้ง vim ด้วย homebrew ไว้ก่อนหน้าให้ถอนการติดตั้งก่อน

brew remove vim
brew cleanup

แล้วก็

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

5
vim: this formula has no --with-python3
สาบาน

0

เป็นไปได้ที่vimยังคงแก้ปัญหาเวอร์ชันที่ Apple ติดตั้งอยู่ ดู: /programming/33313708/apples-vim-always-used-instead-of-homebrew


1
คุณสามารถลองecho $EDITORดูว่ามันถูกตั้งค่าเป็นvi(ชี้ไปที่ Apple vim) หรือvimซึ่งเป็นของคุณเอง
ไมเคิล
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.