Как установить vim на OSX с поддержкой Python 3?

У меня проблемы с установкой vim с python 3 для MacOS. Я знаю, что на эту тему есть похожий аналогичный вопрос. но я не смог решить проблему

сначала я побежал vim --version и получил

Included patches: 1-503, 505-680, 682-1283
Compiled by [email protected]
Normal version without GUI.  Features included (+) or not (-):
+acl             +file_in_path    -mouse_sgr       +tag_old_static
-arabic          +find_in_path    -mouse_sysmouse  -tag_any_white
+autocmd         +float           -mouse_urxvt     -tcl
-balloon_eval    +folding         +mouse_xterm     -termguicolors
-browse          -footer          +multi_byte      -terminal
+builtin_terms   +fork()          +multi_lang      +terminfo
+byte_offset     -gettext         -mzscheme        +termresponse
+channel         -hangul_input    +netbeans_intg   +textobjects
+cindent         +iconv           +num64           +timers
-clientserver    +insert_expand   +packages        +title
-clipboard       +job             +path_extra      -toolbar
+cmdline_compl   +jumplist        -perl            +user_commands
+cmdline_hist    -keymap          +persistent_undo +vertsplit
+cmdline_info    +lambda          +postscript      +virtualedit
+comments        -langmap         +printer         +visual
-conceal         +libcall         -profile         +visualextra
+cryptv          +linebreak       +python/dyn      +viminfo
+cscope          +lispindent      -python3         +vreplace
+cursorbind      +listcmds        +quickfix        +wildignore
+cursorshape     +localmap        +reltime         +wildmenu
+dialog_con      -lua             -rightleft       +windows
+diff            +menu            +ruby/dyn        +writebackup
+digraphs        +mksession       +scrollbind      -X11
-dnd             +modify_fname    +signs           -xfontset
-ebcdic          +mouse           +smartindent     -xim
-emacs_tags      -mouseshape      +startuptime     -xpm
+eval            -mouse_dec       +statusline      -xsmp
+ex_extra        -mouse_gpm       -sun_workshop    -xterm_clipboard
+extra_search    -mouse_jsbterm   +syntax          -xterm_save
-farsi           -mouse_netterm   +tag_binary      
   system vimrc file: "$VIM/vimrc"
     user vimrc file: "$HOME/.vimrc"
 2nd user vimrc file: "~/.vim/vimrc"
      user exrc file: "$HOME/.exrc"
       defaults file: "$VIMRUNTIME/defaults.vim"
  fall-back for $VIM: "/usr/share/vim"
Compilation: gcc -c -I. -Iproto -DHAVE_CONFIG_H   -DMACOS_X_UNIX  -g -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1      
Linking: gcc   -L/usr/local/lib -o vim        -lm -lncurses  -liconv -framework Cocoa 

это версия vim по умолчанию, установленная на моем Mac. К сожалению, там написано: -python3. Поэтому я предполагаю, что Python 3 не установлен. Итак, что я сделал, это следующее:

brew remove vim что прошло нормально, а затем brew info vim и получил следующее сообщение:

vim: stable 8.1.1550 (bottled), HEAD
Vi 'workalike' with many additional features
https://www.vim.org/
Conflicts with:
  ex-vi (because vim and ex-vi both install bin/ex and bin/view)
  macvim (because vim and macvim both install vi* binaries)
Not installed
From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/vim.rb
==> Dependencies
Required: gettext ✔, lua ✔, perl ✔, python ✔, ruby ✔
==> Options
--HEAD
    Install HEAD version
==> Analytics
install: 89,945 (30 days), 222,053 (90 days), 835,730 (365 days)
install_on_request: 82,933 (30 days), 204,131 (90 days), 747,520 (365 days)
build_error: 0 (30 days)

Это потому, что сейчас установлено 2 версии vim?

Я тоже пытался brew install vim --with-python3 но получил следующее сообщение invalid option: --with-python3 при наборе vim --version я получаю:

vim --version
VIM - Vi IMproved 8.0 (2016 Sep 12, compiled Feb 22 2019 19:03:04)
Included patches: 1-503, 505-680, 682-1283
Compiled by [email protected]

РЕДАКТИРОВАТЬ

Вот команды с соответствующими выводами

  • sudo nano /etc/paths:
/usr/local/bin
/usr/bin
/bin
/usr/sbin
/sbin
  • command -v vim:
/usr/bin/vim
  • $PATH:
-bash: /Library/Frameworks/Python.framework/Versions/3.7/bin:/usr/local/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/TeX/texbin:/opt/X11/bin: No such file or directory

Более того, я разместил аналогичный вопрос на другая платформа и сделал много попыток решить проблему. Однако проблема все еще сохраняется.

invalid option: --with-python3 это потому, что Python3 теперь является питоном по умолчанию в Homebrew.
ParthS007 21.06.2019 10:14

спасибо за комментарий @ParthS007. Хорошо, но почему написано -python3?

ecjb 21.06.2019 10:16
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
6
2
14 000
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Версия Vim, которую вы используете, — это встроенная версия Apple, которую вы можете увидеть во второй строке («Скомпилировано [email protected]»). Вы можете установить пакеты vim или macvim с помощью Homebrew, и в них будет встроен Python 3, поскольку, как упоминал ParthS007, Python по умолчанию — Python 3.

Однако ваша переменная окружения PATH должна иметь /usr/local/bin перед /usr/bin, если вы хотите использовать версию Homebrew вместо версии системы по умолчанию (что вы почти наверняка сделаете). Вы можете отредактировать конфигурацию оболочки, чтобы изменить настройку, а затем перезапустить сеанс терминала.

Если ваша переменная среды PATH установлена ​​правильно, возможно, вам также придется запустить brew link vim (или brew link macvim) для создания соответствующих символических ссылок. В общем, вам захочется command -v vim показать /usr/local/bin/vim. Запуск /usr/local/bin/vim вручную должен показать правильный установленный Vim.

большое спасибо за ваш ответ @bk2204. Похоже, это уже так. Вот что я получаю после команды sudo nano /etc/paths: /usr/local/bin /usr/bin /bin /usr/sbin /sbin. Более того, я разместил аналогичный вопрос на другой платформе и сделал много попыток (apple.stackexchange.com/questions/362833/…). Однако проблема все еще сохраняется. У вас есть другая идея?

ecjb 22.06.2019 00:17

Что вы получаете, когда запускаете command -v vim и повторяете $PATH`?

bk2204 22.06.2019 01:02

Большое спасибо: @bk2204. Я отредактировал вопрос с запрошенной командой и соответствующими выводами. Вы видите, где может быть проблема?

ecjb 22.06.2019 10:53

Мне пришлось добавить /opt/homebrew/bin в мой файл /etc/paths. Я поставил его вторым после /usr/local/bin (Mac M1)

AngularNerd 27.11.2021 04:48

Пытаться

./configure \
--with-python3-command=python3

И --with-python3, и --with-python3-config-dir устарели.

Другие вопросы по теме