In the future version, deoplete.nvim requires Python 3.6.1 like defx.nvim.
It will be in 2019.
What's the reason for requiring 3.6.1? I'm currently stuck on an old version of deoplete since CentOS 7 ships with python34-neovim. It'd be really nice if it could still be supported since I'm in a corporate environment and there's no easy way for me to install neovim for python 3.6.
https://centos.pkgs.org/7/epel-x86_64/python34-neovim-0.2.6-2.el7.noarch.rpm.html
What's the reason for requiring 3.6.1? I'm currently stuck on an old version of deoplete since CentOS 7 ships with python34-neovim. It'd be really nice if it could still be supported since I'm in a corporate environment and there's no easy way for me to install neovim for python 3.6.
Why does not install new Python in your home directory?
You can use pyenv.
It's much easier to not have to manually manage my python version just for auto complete for non python languages. I also have to use multiple machines and it looks like a pain to write a custom chef config to setup pyenv on each of them.
@d4l3k , you may find it much easier to manage after reading this
@wadkar I'm not suggesting that it's impossibly difficult. It's actually not that much work for the most part. It just becomes a pain when I have to manually set that up on 3+ machines when python-neovim is already installed through the package manager.
I actually do have python3.6 installed on the machines, there just isn't a package that provides python-neovim for 3.6.
I know.
But I don't change the direction.
@Shougo, that's fairly reasonable. If I was in your position I'd also try to avoid having to support old versions. Figured I'd give my use case here anyways.
Out of curiosity, are there any specific issues with the old versions that prevent deoplete from supporting them easily? If I was willing to send PRs to support them would you accept them?
OK. I should explain the reason for you.
I want to use new Python's feature like defx.nvim.
For example: type annotation, pathlib, enum, ...
So your PR is not accepted.
Just a quick addition to the virtual environment notes mentioned by @wadkar. I run several versions of python on several different systems. Also it's a pain for me to edit my .vimrc if I'm swapping python versions all over the place. The solution for me has been to just set PYTHONPATH to whatever virtual environment that I'm using.
Here's a pyenv example that avoids setting g:python3_host_prog in vimrc (obviously for linux):
PYTHONPATH=~/.pyenv/versions/3.6.6/lib/python3.6/site-packages vi
Python=3.6.1, or Python>=3.6.1? I'm currently using 3.7.2
Python >= 3.6.1
Aaargh. Just got hit by this.
I appreciate the work of @Shougo on this excellent plugin which I've used for years, but sadly I'm going to have to abandon ship because I mostly work with a dozen Debian VMs and installing and maintaining python 3.6 adds way too much work.
From what I've read above, to install deoplete I now need to install python3.6.1+ which means installying a load of compilers and probably installing virtualenv and pyenv (which itself has an install process so complex there's another github repo just for the isntaller)...
Anyway, wanted to respectfully document my pain about this, but to thank @Shougo anyway for their work to-date which has helped me code.
Unfortunately, Python 3.6.1 is needed for deoplete...
Unfortunately, Python 3.6.1 is needed for deoplete...
I have python 3.8 on my ubuntu, but it still warns about python 3.6.1. How does it detect python version? On my system, python 3.8 is renamed as python3 instead of python.
I have python 3.8 on my ubuntu, but it still warns about python 3.6.1. How does it detect python version? On my system, python 3.8 is renamed as python3 instead of python.
I think system default Python is used for Vim.
You can check the version by py3 import vim and py3 print(sys.version) in your Vim.
You can change the Python path by g:python3_host_prog for neovim.
Most helpful comment
OK. I should explain the reason for you.
I want to use new Python's feature like defx.nvim.
For example: type annotation, pathlib, enum, ...
So your PR is not accepted.