Open yan12125 opened 8 years ago
Moving to python 3.5 means dropping support for Windows XP. I am aware it's been more than 2 years since the extended support for it ended but it's still used widely enough.
I see the rationale. I guess XP users are much more than those who are affected by #8132 and #7951, and they can always build a customized youtube-dl.exe. Just leave this one as a future request, like #5697.
If a user on Windows XP has any issues, no one else is to blame but himself. It's officially dead, I don't know why it should be taken into consideration at all.
There are always good reasons for not upgrading, for example software or hardware compatibility. It's not a big problem to keep XP support, so just keep it.
No reason is good enough to use an OS that has officially reached end-of-life. You won't get security updates. You will run into problems, sooner or later. But being stupid is not illegal, of course.
Caveat: If you keep it isolated from the Internet, it will continue to work as usual. But who would do that, honestly? Apart from extreme corner cases, no end user I can think of.
Using an obsoleted OS is definitely something bad. I guess most of them know the disadvantages, but have no choice but to stick with old systems. Some quick examples might be:
Alternatively two builds may be provided.
Alternatively two builds may be provided.
Also a good idea. There are two options:
Personally I prefer the first option. 3.5 is still maintained while 3.4 gets security fixes only. We can also know how many youtube-dl users are still using XP from Github's download statistics.
@yan12125 have you considered pyinstaller as well?
@wiiaboo Please search "pyinstaller" in this issue. And it would be even better if you read thorough this issue carefully.
😱 For some reason I just read cx_freeze and glossed over PyInstaller.
I have it working with Pyinstaller 3.2.1. CXFreeze has some weird error with Python 3.5.0 so I didn't have that ready.
Why not Python 3.6.x, if we're at it? Since this is the official Python 3 version.
@Invictaz: what's the error?
By the way, 3.6 supports Unicode console I/O. I guess the ctypes trick for write_string can be dropped since 3.6.
Original post was in 2016, it's now early 2018. Is there still a valid reason for not updating the windows binaries to Python 3.6+?
Is there still a valid reason for not updating the windows binaries to Python 3.6+?
The original point is that youtube-dl.exe needs supporting Windows XP out-of-box. Some stats: there are still 3.36% users on the world [1], and 12.57% in China [2]. However, as Python 3.4 is going to reach its end-of-life this month [3], I'm considering switching again. It's OK to keep support for an old Python version on legacy systems, while it does not make sense to use it as the default.
[1] http://gs.statcounter.com/os-version-market-share/windows/desktop/worldwide [2] http://gs.statcounter.com/windows-version-market-share/desktop/china [3] https://www.python.org/dev/peps/pep-0429/
youtube-dl 2018.10.05
I'm using youtube-dl-gui through wine and i'm seeing this error:
[10/28/18 03:12:04] Traceback (most recent call last):
[10/28/18 03:12:04] File "main.py", line 19, in
I think the windows exe should be built with python 3.6...
However, as Python 3.4 is going to reach its end-of-life this month [3]
Currently PEP 429 includes this text: "There are no specific plans for the next release of Python 3.4. However, the expectation is that Python 3.4.10 will be released in March of 2019, and this will be the final release of Python 3.4."
I think the windows exe should be built with python 3.6...
Why 3.6.x when 3.7.1 is already available? (and why do you think that it will fix your issue?)
I don't understand.. if youtube-dl supports python 2.7.15, then why include python 3.4, 3.6, or 3.7 in the windows exe?
python 2.7 is universally supported..
But if python 2.7 has the same bug as python 3.4... then it's time to use python 3.7...
I tried using pyinstaller with python 3.7.2 on Windows 10 and it's working flawlessly.
As easy as installing pyinstaller with:
python.exe -m pip install pyinstaller
Then building the exe with:
pyinstaller.exe youtube_dl\__main__.py --onefile --name youtube-dl
So far I haven't had any unusual behaviors with the exe but I also don't know what paces to put it through. I'd encourage people to try it and see what breaks.
If I may, I have been working on resurrecting py2exe and make it compatible with the latest versions of python. If you want, you could give a try at the prebuilt wheels that I just released here: https://github.com/albertosottile/py2exe/releases/tag/v0.9.3.0
Please, let me know if you find any errors when packaging youtube-dl
. This is a big project and I am sure it will provide a good benchmark for these new wheels.
pyinstaller.exe youtube_dl__main__.py --onefile --name youtube-dl
thank, it worked man
Wow, I did not expect a reply here... Well, you might want to know that py2exe has been officially "resurrected" and we are now at version 0.11.1.0 with support up to Python 3.10: https://pypi.org/project/py2exe/
yes i have tried py2exe first, but i didnt understand how to build an exe with py2exe
yes i have tried py2exe first, but i didnt understand how to build an exe with py2exe
setup.py py2exe
py2exe is too complicated and i have already succeeded building the exe anyway.
@pukkandan could you unblock me on yt-dlp page?
Before submitting an issue make sure you have:
What is the purpose of your issue?
Description of your issue, suggested solution and other information
Some Python bugs (#8132, #7951) is fixed upstream and included in new Python versions. However, the 3.4 branch of Python now receives only security fixes. As a result, Windows users have to install the latest Python 2.7 or 3.5 and optionally build their own
youtube-dl.exe
.py2exe is dead and gets no new fixes since Oct 2014. Here I suggest to move to another bundling tool.
Testing results for PyInstaller