I’m not sure what the best solution will be for you. I think you can enable a 3rd-party repository that contains the most up-to-date version of yt-dlp.
It’s been discussed in the Mint forums, but they block my VPN from accessing the site :)
If you are curious, this is how I use yt-dlp. Effort-post incoming, beware, and bare with me. It might seem complicated but I tried my best to simplify.
You can use CTRL+O and CTRL+X to save and then quit.
chmod +x $HOME/.local/bin/yt-dlp (give yourself permission to eXecute the command)
Now any time you run yt-dlp from the terminal, it will search all of those directories inside $PATH until it finds yt-dlp. It will find your custom script, and correctly run the python venv’s version of yt-dlp with any of the arguments you supplied.
If you noticed and are curious, yt-dlp inside of $HOME/.local/bin/yt-dlp doesn’t cause an infinite loop of it calling itself over and over again. Why? Because when you do source$HOME/.local/yt-dlp-venv/bin/activate, it changes your $PATH!
Thank you, I found this way before I saw your reply, although I have to sudo to run this installation of yt-dlp, which seems not ideal from a security perspective:
Since you went to the effort and I do want to understand my system better, I will study your explanation closely even though my video downloading woes are solved.
I’m not sure what the best solution will be for you. I think you can enable a 3rd-party repository that contains the most up-to-date version of yt-dlp.
It’s been discussed in the Mint forums, but they block my VPN from accessing the site :)
https://forums.linuxmint.com/viewtopic.php?t=450307
https://forums.linuxmint.com/viewtopic.php?t=440928
If you are curious, this is how I use
yt-dlp. Effort-post incoming, beware, and bare with me. It might seem complicated but I tried my best to simplify.When I run
echo $PATHon my system, I see this:username@somepc:~$ echo $PATH /var/home/username/.local/bin:/var/home/username/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbinYour PATH might look more like
/home/username/.local/bin.* If it does not include a
/.local/bin, maybe send me your$PATHand I can recommend a substitution instead.What this means, is that any EXECUTABLE inside these directories will be executed if typed from the command line.
So in order, you do this (yes, literally,
$HOME, the terminal will convert that to your home directory):python3 -m venv "$HOME/.local/yt-dlp-venv"(create a virtual space forpython3outside ofapt)source $HOME/.local/yt-dlp-venv/bin/activate(toggle the virtual space forpython3for the duration of the current terminal window)python3 -m pip install yt-dlp(installyt-dlpmodule inside the virtual space)nano $HOME/.local/bin/yt-dlp, paste this inside:#!/usr/bin/env bash source $HOME/.local/yt-dlp-venv/bin/activate pip install --upgrade yt-dlp yt-dlp "$@"You can use
CTRL+OandCTRL+Xto save and then quit.chmod +x $HOME/.local/bin/yt-dlp(give yourself permission to eXecute the command)Now any time you run
yt-dlpfrom the terminal, it will search all of those directories inside$PATHuntil it findsyt-dlp. It will find your custom script, and correctly run the pythonvenv’s version ofyt-dlpwith any of the arguments you supplied.If you noticed and are curious,
yt-dlpinside of$HOME/.local/bin/yt-dlpdoesn’t cause an infinite loop of it calling itself over and over again. Why? Because when you dosource $HOME/.local/yt-dlp-venv/bin/activate, it changes your$PATH!(yt-dlp-venv) username@somepc:~$ echo $PATH /var/home/username/.local/yt-dlp-venv/bin:/var/home/username/.local/bin:/var/home/username/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbinBecause the real
yt-dlpexists inside$HOME/.local/yt-dlp-venv/bin, it finds the executable first instead of the one inside$HOME/.local/binThank you, I found this way before I saw your reply, although I have to
sudoto run this installation of yt-dlp, which seems not ideal from a security perspective:Since you went to the effort and I do want to understand my system better, I will study your explanation closely even though my video downloading woes are solved.
Nice! Can you send me this command’s output?
ls -la /usr/local/bin/yt-dlpI wonder if it’s just the permissions that are jacked up
-rwxrwxr-x 1 [device name appears 2x] 3072469 Aug 19 18:48 /usr/local/bin/yt-dlpI don’t know what the strings of letters or numbers mean. The date appears to be the yt-dlp version, than after that its directory.