Poznámka: Tento článok je zavádzajúci. Existuje novší článok, ktorý by ste mali zvážiť prečítať si najprv.
Rozhodol som sa spísať niekoľko podrobností o tom, ako sa mi podarilo nainštalovať python požiadavky pre neovim na Mac M3, pretože ako sa ukázalo, nie je to také jednoduché ako na Arch. Ale predtým, než skočíme priamo do akcie, trochu kontextu.
Keď spustíte nvim a zadáte :checkhealth, výstup obsahuje rôzne
diagnostické správy o požiadavkách. Pre túto tému sa zameriame len na tie,
ktoré sa týkajú pythonu. Keď vo vašom systéme vôbec nie je nainštalovaný
python, môže to vyzerať nasledovne:
Python 3 provider (optional) ~
- Using: g:python3_host_prog = "/opt/homebrew/bin/python3"
- WARNING No Python executable found that can `import neovim`. Using the first available executable for diagnostics.
- Executable: Not found
A tu bez pynvim:
Python 3 provider (optional) ~
- Using: g:python3_host_prog = "/opt/homebrew/bin/python3"
- Executable: /opt/homebrew/bin/python3
- ERROR Command error (job=18, exit code 1): `'/opt/homebrew/bin/python3' -c 'import sys; sys.path = [p for p in sys.path if p != ""]; import neovim; print(neovim.__file__)'`
stderr: Traceback (most recent call last): File "<string>", line 1, in <module>ModuleNotFoundError: No module named 'neovim'
- Python version: 3.12.3
- pynvim version: unable to load neovim Python module
- ERROR pynvim is not installed.
Error: unable to load neovim Python module
- ADVICE:
- Run in shell: /opt/homebrew/bin/python3 -m pip install pynvim
Na mojom systéme to v súčasnosti, v čase verzie v0.9.5, vyzerá takto:
Python 3 provider (optional) ~
- Using: g:python3_host_prog = "/opt/homebrew/bin/python3"
- Executable: /opt/homebrew/bin/python3
- Python version: 3.12.3
- pynvim version: 0.5.1dev0
- OK Latest pynvim is installed.
Všetko je v poriadku, python3 aj pynvim sú správne rozpoznané. Možno sa
pýtate, prečo inštalovať python cez brew, keď mac prichádza s
predinštalovaným python3 v /usr/bin/python3. Aj mňa to zastavilo, ale
jedným z dôvodov je, keď chcete nainštalovať niečo iné cez brew, čo má
Homebrew python ako závislosť, napríklad magic-wormhole (užitočné na
rýchly prenos súborov medzi dvoma laptopmi).
Pre záznam, tu je zoznam toho, čo som skúšal, ale zlyhalo takým či onakým spôsobom:
/opt/homebrew/bin/python3 -m pip install pynvim
brew install pynvim
pipx install pynvim
pipx install python-neovim
pipx install python-pynvim
pip3 install 'pynvim @ git+https://github.com/neovim/pynvim'
A tu je aspoň časť krokov, ktoré mi fungovali. Začnite inštaláciou pythonu cez Homebrew:
brew install python
Nasmerujte neovim na cestu nášho Homebrew pythonu:
let g:python3_host_prog = '/opt/homebrew/bin/python3'
Nainštalujte pynvim:
pip3 install 'pynvim @ git+https://github.com/neovim/pynvim' --break-system-packages
Parameter --break-system-packages prirodzene naznačuje, že robíme niečo,
čo by sa predvolene robiť nemalo, takže toto riešenie neodporúčam. Ale
možno, ak ste v zúfalej situácii ako ja, mohli by ste si urobiť výskum,
zvážiť riziká spojené s takýmto postupom a rozhodnúť sa preň.
Nižšie je odkaz na Github na rozsiahle vlákno diskutujúce o problémoch s pythonom a Homebrew, ktoré je podľa mňa vynikajúcim východiskovým bodom na štúdium, takže ak máte čas, nezabudnite sa pozrieť. Hoci je to mimoriadne dlhé, odkaz ukazuje priamo na najdôležitejší komentár, aby sa ušetril čas. Príjemnú prácu!