-
Notifications
You must be signed in to change notification settings - Fork 10.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Build the Windows exe with Python 3.6 #10014
Comments
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. |
If a user on Windows XP has any issues, no one else is to blame but himself. |
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. |
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+? |
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 |
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): I think the windows exe should be built with python 3.6... |
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."
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:
Then building the exe with:
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 |
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 |
|
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.
I got an error when installing PyInstaller - one of its dependencies is broken (UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 208687: ordinal not in range(128) erocarrera/pefile#105) Need to install the latest git-master of pefile. After installation everything looks fine (see test results later)
There are still commits last month but no releases since Dec 2014. Sounds less promising so I didn't test it.
Testing results for PyInstaller
The text was updated successfully, but these errors were encountered: