Salut
Suite à la discussion de @LetsGo67 et @Micdu70 sur le topic Ratxabox, je me suis aussi attaqué à cette sombre histoire de Cloudscraper qui plante sur le script...

Alors si pour Debian 10 c'est pas trop méchant, avec Debian 9 c'est un peu plus relou 🙁
La version de Python en stable est en 3.5 donc il faut upgrader le truc pour que ça roule.
Je colle les deux ici pour mémoire, demandez pas trop d'explication, je suis largement au dessus de mes pompes sur ce coup là comme souvent. Faut croire que j'aime bien tout casser ^ ^

Donc on y va haut les cœurs.

Pour Debian 10
On met à jour les dépôts:

apt-get update

On installe:

apt-get install python3-venv python3-pip
pip3 install cloudscraper

On rectifie la conf pour ruTorrent pour chaque users:

nano /var/www/rutorrent/conf/users/<username>/config.php

Et on change le chemin de Python:

$pathToExternals['python'] = '/usr/bin/python3'

Normalement on est bon...

Pour Debian 9
On met à jour les dépôts:

apt-get update

On installe deux trois paquets, il y a en a qu'on a déjà mais Debian se débrouille très bien:

apt-get install \
wget \
build-essential \
libreadline-gplv2-dev \
libncursesw5-dev \
libssl-dev \
libsqlite3-dev \
tk-dev \
libgdbm-dev \
libc6-dev \
libbz2-dev \
libffi-dev \
zlib1g-dev

On installe Python 3.9, ça va compiler un moment pas de panique:

cd /tmp
wget https://www.python.org/ftp/python/3.9.4/Python-3.9.4.tgz 
tar xzf Python-3.9.4.tgz 
cd Python-3.9.4 
./configure --enable-optimizations
make altinstall

On met à jour pip:

/usr/local/bin/python3.9 -m pip install --upgrade pip

Et on installe ce foutu Cloudscraper avec de vrais morceaux de 3.9 dedans:

pip3.9 install cloudscraper

Plus qu'à éditer la conf pour ruTorrent pour chaque users:

nano /var/www/rutorrent/conf/users/<username>/config.php

Et on change le chemin de Python:

"python" => '/usr/local/bin/python3.9'

On est bon.

Si vous aviez bloqué le plugin Cloudflare, pensez à le virer de plugins.ini:

nano /var/www/rutorrent/conf/users/<username>/plugins.ini

Et on dégage:

[_cloudflare]
enabled = no

Voilà voilà, je pense que j'ai rien oublié. Je vais modifier le script si j'ai le temps et un peu de débit sur ma 4G pour Debian 10, et juste bloquer le plugin pour Debian 9 qui arrive en fin de course. edit: script et tuto à jour.
Comme dit plus haut, il y a surement des raccourcis à prendre mais l'important c'est le résultat 😉
Je ne cite pas de sources, j'ai ravagé Google pendant des heures... 😅

Cassez pas tout les gars !
Ex.

Petite typo :
python3.9 -m pip install SomePackage

Merci @Merrick
Par contre je vois pas la boulette chez moi, ou alors on parle pas de la même ligne c'est possible aussi 😉

On installe Pip 3.9

python3.9 -m pip install SomePackage

Ca ne correspond pas à l'installation de pip. La commande que tu as lancée ne peut se lancer que quand tu as déjà installé pip puisque tu utilises le module.
De plus, tu essaye vraiment d'installer un paquet qui s'appelle "SomePackage" ?

Pour moi, installer pip sans passer par les paquets du systeme (apt, etc...) c'est :
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python get-pip.py

(après je peux me tromper aussi, mais ta commande me semble bizarre)

Alors comme dit plus haut, c'est tout à la glisse mon histoire mais ça tourne à la fin ^^
J'ai été voir cette affaire de SomePackage, et si je ne me trompe pas, ça installe la dernière version.

$ pip install SomePackage            # latest version
$ pip install SomePackage==1.0.4     # specific version
$ pip install 'SomePackage>=1.0.4'     # minimum version

https://readdoctest.readthedocs.io/en/stable/reference/pip_install.html (en bas de page)
Ex.

edit: le retour de la commande

root@vpsxxx:~# python3.9 -m pip install SomePackage
Collecting SomePackage
  Downloading somepackage-1.2.3.tar.gz (8.6 kB)
Using legacy 'setup.py install' for SomePackage, since package 'wheel' is not installed.
Installing collected packages: SomePackage
    Running setup.py install for SomePackage ... done
Successfully installed SomePackage-1.2.3
WARNING: You are using pip version 20.2.3; however, version 21.1.1 is available.
You should consider upgrading via the '/usr/local/bin/python3.9 -m pip install --upgrade pip' command.

Je ne suis pas d'accord, avec cette commande tu installes bien un paquet qui s'appelle "somePackage" (https://pypi.org/project/somepackage/). Le nom du paquet est bizarre (traduction à la façon de Mr Rache : "un paquet"). Pour faire cette action, tu as besoin de pip, donc il est déjà installé sur le système. Il est probable que tu utilises le pip soit déjà installé par les paquets debian (apt install python-pip ou apt install python3 pip), soit une version de pip qui avait été installée par un python précédent.
La commande que tu as indiqué par la suite
/usr/local/bin/python3.9 -m pip install --upgrade pip
te permet effectivement le mettre à jour pour ta version de python3.9

Ok, je viens de tester une install' sans la commande et on est ok à la fin donc j'ai viré.

D’après ce que je viens de lire, pip est installé par défaut à partir de python3.4, j'ai laissé l'upgrade dans le doute même si c'est surement pas indispensable, ça doit pas faire mal.

Mais je me demande quand même ce que mon "SomePackage" installe, il se passe bien un truc sur le retour de la commande "Successfully installed SomePackage-1.2.3". J'ai rien lu de compréhensible pour moi donc ça va rester un mystère, c'est pas grave.
On aura encore fait quelque chose aujourd'hui ! 😉
Ex.

A priori c'est un package qui installe des outils sur "comment structurer un projet python" (lien dans mon post au dessus)

Pour ceux qui veulent installer la toute dernière version :

apt install -y libffi-dev;
wget -c "https://www.python.org/ftp/python/3.9.5/Python-3.9.5.tar.xz";\
tar -xvf Python-3.9.5.tar.xz;\
cd Python-3.9.5;\
./configure --enable-optimizations;\
make -j8;\
make install;

C'est beaucoup plus rapide néanmoins cela dépend(ra) de votre CPU.
Donc vous devez adapter la valeur (de l'avant dernière ligne) en fonction de cet élément.

Quelque chose de beaucoup plus simple (ou de moins compliqué) ?
Comme je le disais, je conserve Debian 9 car il est beaucoup plus propre (alors non Python n'est pas préinstallé (par défaut l'iso ne contient aucune version)).
Alors si vous n'avez pas besoin de ce plugin, vous pouvez le supprimer.
Pourquoi malgré toutes ces années, je n'ai jamais rencontré d'erreur comme la 502 ? Grosso modo, je conserve uniquement les plugins dont j'ai un concret besoin.
Donc tant que je ne verrais pas l'intérêt, je ne prévois pas de le rajouter sur la liste de mes futurs projets (recherches etc)..

Répondre…