Just a quick PSA for people who, like me, are using yt-dlp to download and watch YouTube videos. You have probably noticed that YouTube made some changes on their end and now yt-dlp just prints ERROR: Unable to extract uploader id; and exits.
This will be fixed in the next release of yt-dlp, which will probably get updated in the Arch repos in a few days. In the meantime, it’s fairly easy to apply the following temporary fix:
In the file /usr/lib/python3.10/site-packages/yt_dlp/extractor/youtube.py change the following line (line 4049) (or comment it out by adding an octothorpe # in front of it):
'uploader_id': self._search_regex(r'/(?:channel|user)/([^/?&#]+)', owner_profile_url, 'uploader id') if owner_profile_url else None,
The usual warning: do not run a GUI text editor with sudo to edit root owned files. Either use an editor that has polkit support, or a terminal text editor with sudo. Backup any files you’re editing in case you mess up.
The mirror you hit for Arch Community may be behind or not syncing as quick as others mirrors.
If you use a tool like pacfinder and explore the EOS repos, there are only about 100 packages and it’s most of the themes and apps from the team, save for yad and a yay-bin package and perhaps a few others. IOW, it’s very small.
~🐸 pacman -Si yt-dlp
Repository : community
Name : yt-dlp
Version : 2023.02.17-1
Description : A youtube-dl fork with additional features and fixes
Architecture : any
URL : https://github.com/yt-dlp/yt-dlp
Licenses : Unlicense
Groups : None
Provides : None
Depends On : python-certifi
Optional Deps : ffmpeg: for video post-processing
rtmpdump: for rtmp streams support
atomicparsley: for embedding thumbnails into m4a files
aria2: for using aria2 as external downloader
python-mutagen: For embedding thumbnail in certain formats
python-pycryptodomex: For decrypting AES-128 HLS streams and various other data
python-websockets: For downloading over websocket
Conflicts With : None
Replaces : None
Download Size : 3.45 MiB
Installed Size : 21.89 MiB
Packager : Antonio Rojas <firstname.lastname@example.org>
Build Date : Fri 17 Feb 2023 15:10:09 CET
Validated By : MD5 Sum SHA-256 Sum Signature
I think that’s just common knowledge that you shouldn’t use sudo pip unless you’re sure that’s what you want. I even mentioned using pipx, which is a fantastic way of managing dependencies as pip is very bad at that.
Because you have a package manager, pacman, to install packages and worry about dependencies. Everything you install using other means is invisible to pacman. So when you use pacman you’re going to get conflicts. The forum is full of posts by people who can’t update because they’ve installed Python packages with pip and now pacman is reporting file conflicts.
The same is true for npm, cargo, gem and other third-party package managers.
I’ve never faced anything like that. But then I use pipx to install user-level python packages. It sandboxes each package with its own dependencies. But if this is something others face, I guess they should stick to pacman whenever possible.
I’m talking about pip, I’ve never heard of pipx and I’m not really interested in it, every Python package I need is in the repos. You’ve brought up pipx in the same post you advise people to use pip.
It’s a terrible idea to use pip to globally install Python packages on Arch, for reasons I’ve already mentioned. Your post contains this suggestion:
…and it’s a dangerous suggestion, since it’s basically telling people to break their systems. That’s the only reason why I replied to it: to warn anyone who doesn’t know better. The reason wasn’t because I wanted to discuss with you the merits of pipx. I have no interest in that.
This thread ought to be closed now, since the update to yt-dlp makes the fix in the OP obsolete now.
Sure man. I kinda agree with your point. But you’re being unnecessarily aggressive about it. Which, I must say, is off brand for this forum. I never asked anyone to use sudo pip, but it’s still great that you pointed out that it’s a bad idea. I agree with you. After you explained why you think people should stick to pacman, I agreed with you there as well. I simply mentioned pipx because that’s what I personally use. You don’t need to be interested in it.