Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.
Sign upGitHub is where the world builds software
Millions of developers and companies build, ship, and maintain their software on GitHub — the largest and most advanced development platform in the world.
Doesn't run in python 2.6.1: function keywords must be strings (was: youtube-dl totally broken: call always echoes same traceback) #3813
Comments
|
This seems to be a problem in old python versions: http://bugs.python.org/issue2646. It works with python 2.6.8, 2.7.8 and 3.4.1. You could just upgrade to python 2.7 (If you want to use python 3 and are using bash, you can use an alias: @phihag What should we do here, transform the dictionary keys with |
|
Perfect! Forcing it to use python 3.4.1 solved this issue. I was kind of hoping it would have used python 3 anyway. Should I close? Since it was a problem with the supposedly supported python 2.6, I can see why you'd want this to remain open. |
|
I'd keep it open, since we try to fully support python 2.6. |
|
@AFineTransform By default, youtube-dl will be executed using the default Python on your machine (the one that runs when you just enter |
|
I don't see any reason to support any 2.6 versions but the newest (or the one that travis uses). Since this seems to be a fundamental bug in the 2.6 interpreter, the easiest remedy should be to detect this horrible brokenness and warn users to use a different interpreter. |
|
It makes sense. It seems that it was fixed in 2.6.5: https://hg.python.org/cpython/file/v2.6.5/Misc/NEWS#l64 |
|
This breaks sl4a support with 2.6.2 available. I am not the bug reporter but in real-world I'd reject the "solution to use the latest 2.6". |
|
I'm having this problem in a NAS (small Linux server with ARM CPU and RAID), where the python version in the firmware image is 2.6.2. Now it fails with a different error message:
I'll use another computer, but it would be nice to have the possibility of doing this directly there. |
|
@AlbertoGP Note that Python 3.2 is unsupported in youtube-dl (2.6, 2.7 or 3.3+ is required). |
|
Which version of youtube-dl introduced the change breaking "2.6” compatibility and required 2.6.5 or higher? Is there a chance at least YouTube downloads still work with that version? |
|
I've just submitted a workaround for the Unicode dict keys bug in Python 2.6.0-2.6.4, at #4205 |
|
I believe this issue to be fixed in youtube-dl 2014.11.15.1 and newer. See our FAQ if you have problems updating. Note that while this means that youtube-dl will work on these really old Python versions, you are at your own risk using such horribly outdated code: You may run into issues both general and specific to youtube-dl, and may suffer from well-known security vulnerabilities. |
I installed youtube-dl using Homebrew on Mac OS 10.6.8 via
brew install youtube-dl. The installation seemed to proceed flawlessly, but every call to youtube-dl does nothing and returns the same traceback. For instance, here's the result ofyoutube-dl --version:But I get the same result with a video URL, the help flag, or even if I call it with no options. To my untrained eyes, it seems like the program is failing to recognize the command line options as strings, which would explain why it can't get very far, since they are involved in every useful program call. I don't know enough about python to confirm this, however.
I have python 2.6 and 3.4 on my system:
youtube-dl seems to have taken to version 2.6, but both versions should be compatible.
I also installed rtmpdump and ffmpeg using brew, but they don't seem to have anything to do with this problem.