Installation de Tikka via pipx

Je profite de la sortie de Tikka 0.6.0 pour vous parler de pipx.

C’est un utilitaire Python qui permet d’isoler vos installations Python les unes des autres sans vous soucier de l’environnement de développement. Il isole chaque installation dans son propre environnement virtuel !

Avec cet outil, fini les erreurs de conflits de dépendances Python entre Silkaj et Tikka, par exemple.

Cela ne vous dispense pas d’avoir Python 3.7 ou supérieur pour pouvoir installer Tikka.

Donc, assurer vous d’abord d’utiliser python3 en version 3.7 (3.9 à partir de Tikka 0.14.2) ou supérieur. Pour cela voir le sujet Installation de Tikka sur… correspondant à votre plateforme sur ce forum.

Puis installer pipx :

Sur Linux, installation via pip (nécessite pip 19.0 ou supérieur)

python3 -m pip install --user pipx
python3 -m pipx ensurepath

Mise à jour de pipx

python3 -m pip install --user -U pipx

Installation système de pipx

Si vous avez une erreur error: externally-managed-environment en installant pipx via pip, faire une installation système.

La méthode la plus sûre consiste à installer pipx via le gestionnaire de paquets de votre distribution :​

Ubuntu/Debian :​

sudo apt install pipx

Fedora :​

sudo dnf install pipx

Arch Linux :​

sudo pacman -S pipx

Après l’installation, assurez-vous que le chemin d’accès à pipx est correctement configuré :​

pipx ensurepath

Cette commande ajoute le répertoire contenant les exécutables installés par pipx à votre variable d’environnement PATH.

Installation de Tikka via pipx

pipx install tikka

Soyez patient car comme l’environnement est isolé, il doit tout réinstaller et compiler (surtout pyQt5), même si vous l’avez déjà dans un autre environnement virtuel. Mais cela ne doit pas dépasser 1 ou 2 mn maximum.

Après ça, normalement, la commande tikka est installée dans votre chemin de commandes. Il suffit de taper tikka pour la lancer.

Désinstaller tikka via pipx

pipx uninstall tikka
5 Likes

« pipx »… Peep-X … ça fait très pornstar comme truc pour fourrer Tikka sur son ordi :wink:

1 Like

Ya une catégorie pipx sur pornhub, c’est pour ceux qui fantasment sur les install python, ça marche bien.

Ca fait des mois que j’ai pas upgrade tikka, j’ai formaté mon PC entre temps avec avec le même home.

Je ne pouvais pas upgrade, alors j’ai uninstall tikka et réinstallé pipx, et suivi ça précisément: Installation de Tikka via pipx

Mais, ça marche pas:

poka@pokaTour:~$ pipx install tikka
Fatal error from pip prevented installation. Full pip output in file:
    /home/poka/.local/pipx/logs/cmd_2023-02-16_20.39.10_pip_errors.log

Error installing tikka.
poka@pokaTour:~$ cat /home/poka/.local/pipx/logs/cmd_2023-02-16_20.39.10_pip_errors.log
PIP STDOUT
----------

PIP STDERR
----------
/home/poka/.local/pipx/venvs/tikka/bin/python: No module named pip
poka@pokaTour:~$ type pip
pip est un alias vers « pip3 »
poka@pokaTour:~$ pip --version
pip 23.0 from /home/poka/.local/lib/python3.10/site-packages/pip (python 3.10)
poka@pokaTour:~$ python --version
Python 3.10.6
poka@pokaTour:~$ ls /home/poka/.local/pipx/venvs/tikka/
ls: impossible d'accéder à '/home/poka/.local/pipx/venvs/tikka/': Aucun fichier ou dossier de ce type
poka@pokaTour:~$ ls -lha /home/poka/.local/pipx/venvs/
total 8,0K
drwxrwxr-x 2 poka poka 4,0K févr. 16 20:39 .
drwxrwxr-x 6 poka poka 4,0K oct.  24 20:11 ..

Pour comprendre, peux-tu taper les commandes suivantes :

python -m pip

python -m pipx

En général, le python “système” de la distribution est accompagné de l’installation d’un “pip” système. Si ce n’est pas le cas, il faut installé un package de ta distribution nommé “python3-pip” ou un nom dans le genre…

5 posts were split to a new topic: Installation de Tikka sur architecture ARM

5 posts were split to a new topic: Segmentation fault avec Python 3.12

J’essaie d’installer pipx

$ python3 -m pip install --user pipx
error: externally-managed-environment

× This environment is externally managed
╰─> To install Python packages system-wide, try apt install
    python3-xyz, where xyz is the package you are trying to
    install.
    
    If you wish to install a non-Debian-packaged Python package,
    create a virtual environment using python3 -m venv path/to/venv.
    Then use path/to/venv/bin/python and path/to/venv/bin/pip. Make
    sure you have python3-full installed.
    
    If you wish to install a non-Debian packaged Python application,
    it may be easiest to use pipx install xyz, which will manage a
    virtual environment for you. Make sure you have pipx installed.
    
    See /usr/share/doc/python3.11/README.venv for more information.

note: If you believe this is a mistake, please contact your Python installation or OS distribution provider. You can override this, at the risk of breaking your Python installation or OS, by passing --break-system-packages.
hint: See PEP 668 for the detailed specification

Je ne sais pas trop quoi faire de ça…
Je suis sur MX-linux

2 Likes

s’il existe un paquet pipx, installe-le avec apt. Puis lance pipx install tikka

3 Likes

J’ai corrigé le message d’origine pour ajouter l’installation via les dépôts du système.

1 Like

Petite question, est-ce que quelqu’un sous NixOS à réussi à installer Tikka ?

J’ai tenté pas mal d’approches, mais j’ai à chaque fois un soucis pour faire prendre en compte les librairies libsodium.

2 Likes

As-tu essayé le paquet dev ? Sous Alpine, il me faut libsodium-dev.

2 Likes

Ok, apparemment le soucis est lié à NixOS et la manière dont les librairies sont liées.

Je configure bien programs.nix-ld pour ajouter la librairie libsodium et normalement les programmes installés par Nix doivent utiliser nix-ld.

Quand je regarde mes variables d’environnement dans le shell, j’ai bien NIX_LD_LIBRARY_PATH présent qui renvoie vers un folder /run/current-system/sw/share/nix-ld/lib dans lequel il y a bien des liens symboliques vers toutes mes librairies.

Par contre il semblerait que pipx/python que j’ai installés comme packages système dans configuration.nix ne prenne pas en compte nix-ld:

readelf -l ~/.local/share/pipx/venvs/tikka/bin/python | grep interpreter
      [Requesting program interpreter: /nix/store/vbrdc5wgzn0w1zdp10xd2favkjn5fk7y-glibc-2.40-66/lib/ld-linux-x86-64.so.2]

(pas encore compris comment faire pour avoir un python & pipx correctes sur ce point là)

Mais par contre, si je set manuellement LD_LIBRARY_PATH avec le même path que NIX_LD_LIBRARY_PATH avant de lancer tikka, l’application démarre bien :slight_smile:

Pour la référence vers une explication: GitHub - nix-community/nix-ld: Run unpatched dynamic binaries on NixOS [maintainer=@Mic92]

3 Likes