You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
It's time to move on to python 3.8. It was released half a year ago and vim core supports it. Most libraries which had supported python 3.7 also have support for python 3.8
Given that Homebrew hasn't switched over I prefer to not upgrade until they do it. Part of the reason is that it complicates our CI build scripts and also I think we should assume most users install the default python package instead of the explicit python@3.8.
I still don't agree with an idea "all ports should use one true python/java/(any other tool)". I'm asking about only Github version.
My personal opinion, that if Homebrew wants to stay behind using following ideology of "one true ..", they can patch vimrc and other defaults as they pleased.
I understand, that my proposition is not very nice, but Homebrew as any other package manager has much greater mobility to change params, code, and other things than users who use releases from Github like me.
Unfortunately, simply specifying python3.8 in a library path doesn't work well for me.
@ychin BTW, Your response sounds like "you use Homebrew/MacPorts to use MacVim with Python3.8 (and more likely 3.7) or build and maintain it manually".
So can you be more specific what supporting "Python 3.8" means?
Are you talking about how we automatically set pythonthreedll to be 3.7? Can't you just set that variable to the correct path yourself. The auto-detection is really a clutch because there's no way for Vim to be able to find all possible Python versions for you.
I can't just change pythonthreedll as ABI is not compatible between python versions (third number is compatible while second may be not). PEP-606 to provide backward binary compatibility was rejected.
So I need MacVim to be compiled with python3.8 and I'd like to update official vimrc from 3.7 to 3.8, that's it.
As I've said, Homebrew, Macports and any other port system may stay with compatibility ranges of MacVim by using little patch to vimrc and by provide an appropriate argument to configure script. Alternatively to make manual patches, configure/make script itself may patch vimrc,
Nevertheless, I ask you for making official builds with 2-3 major python releases when it's possible. Other languages doesn't change so much as Python nowadays. This will give an opportunity to use an official build and use Python version they want.
For Homebrew only one build will not require an additional dependency installation, so price is small.
Homebrew migration to Python 3.8 is complete: Homebrew/homebrew-core#47274 (comment)
Latest MacVim snapshot 163 which is installed by hombrew-cask seems to be pointing to Python 3.7
:python3 in my homebrew cask installed macvim is no longer operational because it doesn't find python3.7
E370: Could not load library /usr/local/Frameworks/Python.framework/Versions/3.7/Python
E263: Sorry, this command is disabled, the Python library could not be loaded.
When using homebrew's python, maybe in the future MacVim can default to the 'Current' subdirectory instead of a hard-coded version-numbered subdirectory, like:
set pythonthreedll=/usr/local/Frameworks/Python.framework/Versions/Current/Python
When using homebrew's python, maybe in the future MacVim can default to the 'Current' subdirectory instead of a hard-coded version-numbered subdirectory, like:
set pythonthreedll=/usr/local/Frameworks/Python.framework/Versions/Current/Python
No, it's impossible to do as I wrote above Python resigned from PEP-606 to support backward binary compatibility. So you'll have problems with Python 3.7 used in MacVim & Python 3.8/3.9 etc.
:python3 in my homebrew cask installed macvim is no longer operational because it doesn't find python3.7
E370: Could not load library /usr/local/Frameworks/Python.framework/Versions/3.7/Python
E263: Sorry, this command is disabled, the Python library could not be loaded.
I believe @ichizok fixed this in d552421 already, and #1063 will make this compatible with binary install and MacPort as well. I think the issue here is the we haven't made a release yet so if you are using Homebrew Cask / official MacVim binary release you wouldn't have obtained that update that is built against 3.8 yet. I will try to make an update soon to address this.
Reacted by Matthew Clapp, Eir Nym, Luca Da Rin Fioretto, Anton Styagun, oscar-c and Leo Razoumov
Activity
ychin commentedon Mar 5, 2020
Homebrew is still at 3.7.6: https://formulae.brew.sh/formula/python
There are some discussions here (https://discourse.brew.sh/t/why-python-3-8-has-not-been-updated-yet/6057/16) and there is a ticket (Homebrew/homebrew-core#47274) tracking this migration.
Given that Homebrew hasn't switched over I prefer to not upgrade until they do it. Part of the reason is that it complicates our CI build scripts and also I think we should assume most users install the default
pythonpackage instead of the explicitpython@3.8.eirnym commentedon Mar 5, 2020
I still don't agree with an idea "all ports should use one true python/java/(any other tool)". I'm asking about only Github version.
My personal opinion, that if Homebrew wants to stay behind using following ideology of "one true ..", they can patch
vimrcand other defaults as they pleased.eirnym commentedon Mar 6, 2020
I understand, that my proposition is not very nice, but Homebrew as any other package manager has much greater mobility to change params, code, and other things than users who use releases from Github like me.
Unfortunately, simply specifying python3.8 in a library path doesn't work well for me.
eirnym commentedon Mar 12, 2020
@ychin BTW, Your response sounds like "you use Homebrew/MacPorts to use MacVim with Python3.8 (and more likely 3.7) or build and maintain it manually".
ychin commentedon Mar 16, 2020
So can you be more specific what supporting "Python 3.8" means?
Are you talking about how we automatically set
pythonthreedllto be 3.7? Can't you just set that variable to the correct path yourself. The auto-detection is really a clutch because there's no way for Vim to be able to find all possible Python versions for you.Or did you mean something else?
eirnym commentedon Mar 16, 2020
I can't just change
pythonthreedllas ABI is not compatible between python versions (third number is compatible while second may be not). PEP-606 to provide backward binary compatibility was rejected.So I need MacVim to be compiled with python3.8 and I'd like to update official
vimrcfrom3.7to3.8, that's it.As I've said, Homebrew, Macports and any other port system may stay with compatibility ranges of MacVim by using little patch to
vimrcand by provide an appropriate argument to configure script. Alternatively to make manual patches, configure/make script itself may patchvimrc,eirnym commentedon Jul 10, 2020
They already changed the python to 3.8 across the Homebrew.
eirnym commentedon Jul 10, 2020
Nevertheless, I ask you for making official builds with 2-3 major python releases when it's possible. Other languages doesn't change so much as Python nowadays. This will give an opportunity to use an official build and use Python version they want.
For Homebrew only one build will not require an additional dependency installation, so price is small.
luca-drf commentedon Jul 13, 2020
Homebrew migration to Python 3.8 is complete: Homebrew/homebrew-core#47274 (comment)
Latest MacVim snapshot 163 which is installed by hombrew-cask seems to be pointing to Python 3.7
itsayellow commentedon Jul 14, 2020
:python3in my homebrew cask installed macvim is no longer operational because it doesn't find python3.7itsayellow commentedon Jul 14, 2020
When using homebrew's python, maybe in the future MacVim can default to the 'Current' subdirectory instead of a hard-coded version-numbered subdirectory, like:
eirnym commentedon Jul 14, 2020
No, it's impossible to do as I wrote above Python resigned from PEP-606 to support backward binary compatibility. So you'll have problems with Python 3.7 used in MacVim & Python 3.8/3.9 etc.
eirnym commentedon Jul 14, 2020
this is one of problems I want to avoid
martensson commentedon Jul 16, 2020
I am getting the same error now and unable to use Macvim after homebrew upgraded to 3.8.
ychin commentedon Jul 17, 2020
I'll fix this in the weekend. But yes, the current way we are handling it is non-ideal.
luca-drf commentedon Jul 17, 2020
I've resolved with:
then
astyagun commentedon Jul 17, 2020
Another possible workaround:
itsayellow commentedon Jul 17, 2020
I was using that for a while but started getting weird errors, it may have been some sort of binary incompatibility as mentioned by @eirnym above.
eirnym commentedon Jul 17, 2020
It's also possible to set pythonthreedll to
/usr/local/Cellar/python@3.7/3.7.8_1/Frameworks/Python.framework/Versions/3.7in your .vimrcMake MacVim default to 3.8 DLL paths for MacPort and python.org installs
ychin commentedon Jul 27, 2020
I believe @ichizok fixed this in d552421 already, and #1063 will make this compatible with binary install and MacPort as well. I think the issue here is the we haven't made a release yet so if you are using Homebrew Cask / official MacVim binary release you wouldn't have obtained that update that is built against 3.8 yet. I will try to make an update soon to address this.
ychin commentedon Aug 13, 2020
Closing as version 164 is out.
MacVim Snapshot 164
MacVim Snapshot 165
MacVim Snapshot 165