Partage
  • Partager sur Facebook
  • Partager sur Twitter

Python 3.11 - installation de module impossible

error : external managed environment

    3 mai 2024 à 17:52:25

    Bonjour,

    Je suis le cours de Python. J'ai donc installer Debian 12 sur un VM et il y a python 3.11.2 d'installé par defaut.

    Pour l'installation des modules, il est écrit qu'il faut faire la commande "python -m pip install <nom du module>" (j'ai tenté le module requests).

    Mais la commande retourne l'erreur : "error : external-managed-environment". (je vous épargne les problèmes de syntaxe entre python qui n'existe pas et qu'il faut mettre python3 à chaque fois)

    Je n'arrive pas à résoudre ce problème. Quelqu'un peu m'aider ?

    • Partager sur Facebook
    • Partager sur Twitter
      5 mai 2024 à 12:53:36

      je vous épargne les problèmes de syntaxe entre python qui n'existe pas et qu'il faut mettre python3 à chaque fois

      python est pour la version 2 et python3 pour la version 3. Si vous voulez que python représente la version 3, il faut créer un alias.

      Essayez avec pip3 install module

      • Partager sur Facebook
      • Partager sur Twitter

      Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
      La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

        5 mai 2024 à 16:00:43

        bonjour

        c'est une erreur classique depuis quelques mois. Python refuse d'installer des paquets dans le système (ou home).
        "error : external-managed-environment".  => pip n'est pas le "manageur" de paquet python pour ce système

        - On installe le paquet debian et non par pip (pour "requests" c'est classique )
        - (si sudo) on peut forcer dans systeme avec un flag - non recommandé !
        - (si dans home) on peut forcer (avec 1 flag) - non recommandé !
        - ou on utilise venv

        Tout ceci est normalement écrit dans le message d'erreur de la distribution (message propre à la distribution)

        -
        Edité par papajoker 5 mai 2024 à 16:17:20

        • Partager sur Facebook
        • Partager sur Twitter
          15 mai 2024 à 12:45:15

          Je n'ai pas bien compris. Le module "request" doit être installé avec `apt` maintenant ?
          • Partager sur Facebook
          • Partager sur Twitter
            15 mai 2024 à 13:25:06

            comme c'est le python fournit avec le système, oui ça pose ce genre de souci apparemment.  

            https://stackoverflow.com/questions/75602063/pip-install-r-requirements-txt-is-failing-this-environment-is-externally-mana 

            papajoker t'as donné plusieurs solutions (que l'on retrouve aussi dans le lien, en plus détaillé pour les flags)

            Sinon, tu n'es pas obligé de monter une VM pour utiliser python, tu peux l'utiliser sur ton OS d'origine. 

            • Partager sur Facebook
            • Partager sur Twitter
              15 mai 2024 à 14:25:27

              Pourquoi faire simple quand on peut faire compliqué... je commence à regretter de m'être lancé dans l'apprentissage de Python.

              (Mon host est sous Arch Linux, donc pas mieux puisque c'est python 3.12)

              Ce qui est étonnant, c'est que malgré ces changements, toutes les docs ne sont pas à jour et ne vous propose pas de passer pas les venv. À commencer par openclassroom.

              • Partager sur Facebook
              • Partager sur Twitter
                17 mai 2024 à 17:57:22

                Oui, pourquoi faire simple quand on peut faire compliqué ...

                On peut installer Python directement sur Windows si on sait comment aller sur cmd.

                Il faut juste mentionner à l'installeur d'ajouter py et python dans le %path%

                Je suis sur Windows 10 et j'ai Python 3.12 et ça fonctionne très bien.

                Je peux installer n'importe quoi pourvu que la version de pip soit à jour.

                • Partager sur Facebook
                • Partager sur Twitter

                Le Tout est souvent plus grand que la somme de ses parties.

                  21 mai 2024 à 14:31:30

                  sur la page wiki de ArchLinux, le sujet est "discuté" dans la section package management https://wiki.archlinux.org/title/python#Package_management

                  python packages are only officially supported through install via pacman, not via other tools.

                  • Partager sur Facebook
                  • Partager sur Twitter
                    12 juin 2024 à 11:32:50

                    Pour résoudre ce problème, il faut tout d'abord supprimer EXTERNALLY-MANAGED en utilisant la commande suivante "sudo rm /usr/lib/python3.11/EXTERNALLY-MANAGED" et par la suite  "sudo pip3 install openCV-python" 
                    • Partager sur Facebook
                    • Partager sur Twitter
                      12 juin 2024 à 17:54:14

                      SURTOUT PAS !

                      c'est juste un truc de fainéant pour ne pas taper "--break-system-packages"

                      Ce changement, c'est dire : "je suis un os et je donne la priorité aux applications python, chacune peut m'écraser comme elle le désire, je ne dirai rien. Et chaque app python peut aussi écraser l'autre app python..."

                      De plus, il faut un minimum comprendre l'environnement python

                      Aujourd'hui:
                      pypi : opencv-python 4.10.0.82
                      mon système (arch) : python-opencv 4.9.0-8

                      Je vais donc forcer la version 4.10 au risque que des applications plantent avec cette nouvelle version (pas grave puisque la mienne va fonctionner)

                      Installer des paquet de cette façon peut entrainer des disfonctionnements. Pourquoi vouloir prendre ce risque ?

                      C'est pourtant facile à comprendre : on se retrouve avec 2 managers différents et donc des paquets avec des versions mélangées.

                      De plus, avec arch par exemple, si le paquet n'a pas été installé avec pacman, on va se retouver par la suite avec des erreur pacman : "conflit de fichier". Donner la priorité au manager "pip" plutôt que celui de sa distribution n'a aucun sens, c'est bien pour cela que pip se refuse à le faire.

                      -
                      Edité par papajoker 12 juin 2024 à 18:10:07

                      • Partager sur Facebook
                      • Partager sur Twitter

                      Python 3.11 - installation de module impossible

                      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                      • Editeur
                      • Markdown