Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 23/05/2023, à 08:56

steph96

[résolu] erreur "externally-managed-environment" avec pip3

Bonjour,

depuis le passage en version 23.04 la semaine dernière,
j'ai un outil que j'utilise régulièrement qui ne fonctionne plus : esphomeflasher
qui me sers a programmer les modules esp avec les firmwares créés avec esphome

lorsque je veut réinstaller cet outil :
>pip3 install esphomeflasher
j'ai l'erreur :

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.

avec pipx, c'est mieux
mais je rencontre cette erreur :

pip seemed to fail to build package:
    wxpython<5.0,>=4.0

je voulais aussi le supprimer avant de le ré-installer mais il me dit qu'il n'est pas installé,

alors avez vous une idée de comment avancer sur ce problème ?
et surtout pourquoi mon système est 'externaly managed', c'est certainement normal mais j'ai déjà fait des install avec pip sans soucis..

Dernière modification par steph96 (Le 24/05/2023, à 20:23)

Hors ligne

#2 Le 23/05/2023, à 09:01

xubu1957

Re : [résolu] erreur "externally-managed-environment" avec pip3

Bonjour,

Vu github.com/esphome/esphome-flasher/issues/228 esphome-flasher doesn't work with wayland

Montre :

echo $XDG_SESSION_TYPE

pour voir si c'est Wayland ou x11.


Conseils pour les nouveaux demandeurs et pas qu'eux
Important : Pensez à passer vos sujets en [Résolu] lorsque ceux-ci le sont, au début du titre en cliquant sur Modifier sous le premier message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci.                   Membre de Linux-Azur

Hors ligne

#3 Le 23/05/2023, à 09:46

steph96

Re : [résolu] erreur "externally-managed-environment" avec pip3

Oui,
je suis bien en wayland,
mais je ne suis pas certain que le souci soit là,
en version précédente d'ubuntu j'étais déjà en wayland et je n'avais aucun problème,

et au lancement de esphomeflasher j'ai :

Traceback (most recent call last):
  File "/home/stephane/.local/bin/esphomeflasher", line 5, in <module>
    from esphomeflasher.__main__ import main
ModuleNotFoundError: No module named 'esphomeflasher'

ce qui ne ressemble pas a une erreur liée à wayland

Hors ligne

#4 Le 23/05/2023, à 09:50

xubu1957

Re : [résolu] erreur "externally-managed-environment" avec pip3

As-tu moyen de changer de session avec la roue crantée, pour tester avec xorg ?

Regarde l'EDIT de malbo dans ce message, pour la roue crantée.


Conseils pour les nouveaux demandeurs et pas qu'eux
Important : Pensez à passer vos sujets en [Résolu] lorsque ceux-ci le sont, au début du titre en cliquant sur Modifier sous le premier message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci.                   Membre de Linux-Azur

Hors ligne

#5 Le 23/05/2023, à 10:00

steph96

Re : [résolu] erreur "externally-managed-environment" avec pip3

je viens de faire le test :
un reboot,
démarrage avec xorg
j'ai bien vérifié avec ta commande, il m'indique bien : X11 a la place de wayland
démarrage de mon esphomeflasher et message d'erreur identique !

Hors ligne

#6 Le 23/05/2023, à 10:10

soshy

Re : [résolu] erreur "externally-managed-environment" avec pip3

C'est une nouveauté pour éviter que les gens détruisent leur linux.

En gros, python est essentiel au système car beaucoup d'éléments de l'os sont rédigés en python. Certaines dépendances python sont packagé et tu peux les installer via apt avec un truc du genre

sudo apt install python3-jwt

On aurait aussi pu l'installer avec pip. Mais si on passe par pip, l'installation n'est pas suivie par apt. Pire, si une version fournie par apt est mise à jour par pip et qu'elle rend certaines choses incompatibles, on risque de détruire complètement son installation.

Donc la bonne solution c'est d'utiliser un venv pour ton programme. C'est d'ailleurs littéralement écrit dans ton erreur

    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.

La mauvaise solution, elle t'es aussi indiquée dans le message :

You can override this, at the risk of breaking your Python installation or OS, by passing --break-system-packages

Edit: et à priori dans ton cas, c'est la dernière solution indiqué (en utilisant pipx) qu'il faut prendre puisque tu sembles vouloir installer un programme python et pas juste une dépendance
Et comme tu as indiqué qu'elle ne fonctionne pas... Je doute que les autres fonctionnent mieux...
Et j'arrive à court d'idée hmm

Dernière modification par soshy (Le 23/05/2023, à 10:20)

Hors ligne

#7 Le 23/05/2023, à 19:58

steph96

Re : [résolu] erreur "externally-managed-environment" avec pip3

bien,
j'ai tenté l'environnement virtuel python
mais j'ai toujours les mêmes erreurs

et en forçant avec pipx pour installer wxpython qui semble nécessaire sur esphomeflasher,

PIP STDOUT
----------
Collecting wxpython
  Using cached wxPython-4.2.0.tar.gz (71.0 MB)
  Preparing metadata (setup.py): started
  Preparing metadata (setup.py): finished with status 'error'

PIP STDERR
----------
  error: subprocess-exited-with-error
  
  × python setup.py egg_info did not run successfully.
  │ exit code: 1
  ╰─> [8 lines of output]
      Traceback (most recent call last):
        File "<string>", line 2, in <module>
        File "<pip-setuptools-caller>", line 34, in <module>
        File "/tmp/pip-install-ctbpisx3/wxpython_a8027b56285d4621bf534dc4424c62f8/setup.py", line 27, in <module>
          from buildtools.config import Config, msg, opj, runcmd, canGetSOName, getSOName
        File "/tmp/pip-install-ctbpisx3/wxpython_a8027b56285d4621bf534dc4424c62f8/buildtools/config.py", line 30, in <module>
          from attrdict import AttrDict
      ModuleNotFoundError: No module named 'attrdict'
      [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed

× Encountered error while generating package metadata.
╰─> See above for output.

note: This is an issue with the package mentioned above, not pip.
hint: See above for details.

Hors ligne

#8 Le 24/05/2023, à 14:09

soshy

Re : [résolu] erreur "externally-managed-environment" avec pip3

Installer ton truc, c'est un peu la merde dans le sens où il y a des dépendances qui ne sont pas compatible avec la version de python installée (et la seule disponible). Au bout du compte, il faut te taper la compilation et l'installation d'un python plus ancien.

sudo apt install build-essential libssl-dev libgtk-3-dev 
cd /tmp
wget https://www.python.org/ftp/python/3.8.16/Python-3.8.16.tgz
tar xf Python-3.8.16.tgz 
cd Python-3.8.16/
./configure --prefix=/opt/python/3.8.16/ --enable-optimizations --with-lto --with-computed-gotos --with-system-ffi
make -j "$(nproc)"
sudo make altinstall
mkdir $HOME/mon_venv
cd $HOME/mon_venv
/opt/python/3.8.16/bin/python3.8 -m venv .
source bin/activate
pip install attrdict
pip install esphomeflasher
python -m esphomeflasher

Si c'est long, voir très long, c'est normal.

Hors ligne

#9 Le 24/05/2023, à 19:42

steph96

Re : [résolu] erreur "externally-managed-environment" avec pip3

Bonsoir,

tout simplement GENIAL
cool
effectivement un peu compliqué et long mais ce n'est pas trop grave si çà fonctionne a la fin
et c'est bien le cas !

alors un grand merci à toi @soshy pour ton aide et ta solution !

Hors ligne

#10 Le 11/09/2023, à 17:52

enebre

Re : [résolu] erreur "externally-managed-environment" avec pip3

Bonsoir soshy ,
J'ai le même problème mais pour yt-dlp,
J'ai bien suivi les commandes de ton pst #8
Mais :

(mon_venv) marc@marc:~/mon_venv$ pip install yt-dlp
Requirement already satisfied: yt-dlp in ./lib/python3.8/site-packages (2023.7.6)
Requirement already satisfied: certifi in ./lib/python3.8/site-packages (from yt-dlp) (2023.7.22)
Requirement already satisfied: pycryptodomex in ./lib/python3.8/site-packages (from yt-dlp) (3.18.0)
Requirement already satisfied: brotli in ./lib/python3.8/site-packages (from yt-dlp) (1.1.0)
Requirement already satisfied: websockets in ./lib/python3.8/site-packages (from yt-dlp) (11.0.3)
Requirement already satisfied: mutagen in ./lib/python3.8/site-packages (from yt-dlp) (1.47.0)
WARNING: You are using pip version 22.0.4; however, version 23.2.1 is available.
You should consider upgrading via the '/home/marc/mon_venv/bin/python3.8 -m pip install --upgrade pip' command.
(mon_venv) marc@marc:~/mon_venv$

Je croyais que le souci venait de Python, et j'ai fait la bourde, avant de trouver ta réponse #8 :

j'ai fais
apt --purge python suivi de install python

Je crois que je devrais réinstaller, crois-tu que je puisse (avec ton aide) réparer mon linux ?
J'ai même perdu le curseur de la souris !!!

Hors ligne