IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Déploiement/Installation Python Discussion :

Installation de psycopg2


Sujet :

Déploiement/Installation Python

  1. #1
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    2 667
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 2 667
    Points : 5 235
    Points
    5 235
    Par défaut Installation de psycopg2
    Bonjour,

    Je suis en train de suivre le tuto de Serge Tahé et j'en suis arrivé au chapitre de l'utilisation de PostGres.
    Mais j'ai une erreur sur l'installation de psycopg2 et je ne parviens pas à m'en sortir.

    Dans PyCharm, la ligne de de commande "pip install psycopg2" provoque l'affichage de message d'erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    Collecting psycopg2
      Using cached psycopg2-2.9.1.tar.gz (379 kB)
      Preparing metadata (setup.py) ... error
      ERROR: Command errored out with exit status 1:
       command: 'c:\users\popo\onedrive - popo\documents\python\projects\cours-2020\python3-flask-2020\venv\scripts\python.exe' -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\popo\\AppData\\Local\\Te
    mp\\pip-install-4jlt0rz8\\psycopg2_a07d494c818541c38318dbe6df216228\\setup.py'"'"'; __file__='"'"'C:\\Users\\popo\\AppData\\Local\\Temp\\pip-install-4jlt0rz8\\psycopg2_a07d494c818541c38318dbe6df216228\\setup.py'"'"';f = getattr(to
    kenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exe
    c'"'"'))' egg_info --egg-base 'C:\Users\popo\AppData\Local\Temp\pip-pip-egg-info-n3f2kc5m'
           cwd: C:\Users\popo\AppData\Local\Temp\pip-install-4jlt0rz8\psycopg2_a07d494c818541c38318dbe6df216228\
      Complete output (39 lines):
      running egg_info
      creating C:\Users\popo\AppData\Local\Temp\pip-pip-egg-info-n3f2kc5m\psycopg2.egg-info
      writing C:\Users\popo\AppData\Local\Temp\pip-pip-egg-info-n3f2kc5m\psycopg2.egg-info\PKG-INFO
      writing dependency_links to C:\Users\popo\AppData\Local\Temp\pip-pip-egg-info-n3f2kc5m\psycopg2.egg-info\dependency_links.txt
      writing top-level names to C:\Users\popo\AppData\Local\Temp\pip-pip-egg-info-n3f2kc5m\psycopg2.egg-info\top_level.txt
      writing manifest file 'C:\Users\popo\AppData\Local\Temp\pip-pip-egg-info-n3f2kc5m\psycopg2.egg-info\SOURCES.txt'
      Traceback (most recent call last):
        File "<string>", line 1, in <module>
        File "C:\Users\popo\AppData\Local\Temp\pip-install-4jlt0rz8\psycopg2_a07d494c818541c38318dbe6df216228\setup.py", line 548, in <module>
          setup(name="psycopg2",
        File "c:\users\popo\onedrive - popo\documents\python\projects\cours-2020\python3-flask-2020\venv\lib\site-packages\setuptools\__init__.py", line 153, in setup
          return distutils.core.setup(**attrs)
        File "C:\Users\popo\AppData\Local\Programs\Python\Python310\lib\distutils\core.py", line 148, in setup
          dist.run_commands()
        File "C:\Users\popo\AppData\Local\Programs\Python\Python310\lib\distutils\dist.py", line 966, in run_commands
          self.run_command(cmd)
        File "C:\Users\popo\AppData\Local\Programs\Python\Python310\lib\distutils\dist.py", line 985, in run_command
          cmd_obj.run()
        File "c:\users\popo\onedrive - popo\documents\python\projects\cours-2020\python3-flask-2020\venv\lib\site-packages\setuptools\command\egg_info.py", line 299, in run
          self.find_sources()
        File "c:\users\popo\onedrive - popo\documents\python\projects\cours-2020\python3-flask-2020\venv\lib\site-packages\setuptools\command\egg_info.py", line 306, in find_sources
          mm.run()
        File "c:\users\popo\onedrive - popo\documents\python\projects\cours-2020\python3-flask-2020\venv\lib\site-packages\setuptools\command\egg_info.py", line 541, in run
          self.add_defaults()
        File "c:\users\popo\onedrive - popo\documents\python\projects\cours-2020\python3-flask-2020\venv\lib\site-packages\setuptools\command\egg_info.py", line 578, in add_defaults
          sdist.add_defaults(self)
        File "C:\Users\popo\AppData\Local\Programs\Python\Python310\lib\distutils\command\sdist.py", line 228, in add_defaults
          self._add_defaults_ext()
        File "C:\Users\popo\AppData\Local\Programs\Python\Python310\lib\distutils\command\sdist.py", line 311, in _add_defaults_ext
          build_ext = self.get_finalized_command('build_ext')
        File "C:\Users\popo\AppData\Local\Programs\Python\Python310\lib\distutils\cmd.py", line 299, in get_finalized_command
          cmd_obj.ensure_finalized()
        File "C:\Users\popo\AppData\Local\Programs\Python\Python310\lib\distutils\cmd.py", line 107, in ensure_finalized
          self.finalize_options()
        File "C:\Users\popo\AppData\Local\Temp\pip-install-4jlt0rz8\psycopg2_a07d494c818541c38318dbe6df216228\setup.py", line 380, in finalize_options
          for token in pg_config_helper.query("ldflags").split():
        File "C:\Users\popo\AppData\Local\Temp\pip-install-4jlt0rz8\psycopg2_a07d494c818541c38318dbe6df216228\setup.py", line 123, in query
          result = result.decode('ascii')
      UnicodeDecodeError: 'ascii' codec can't decode byte 0xe9 in position 13: ordinal not in range(128)
    Alors que si je tape la même ligne directement dans l'invite de commande windows ça fonctionne.
    C:\Users\popo>pip install psycopg2
    Collecting psycopg2
    Downloading psycopg2-2.9.1-cp39-cp39-win_amd64.whl (1.2 MB)
    |████████████████████████████████| 1.2 MB 3.3 MB/s
    Installing collected packages: psycopg2
    Successfully installed psycopg2-2.9.1


    Mais le package n'apparait pas dans PyCharm.
    Que dois-je faire ?

    Merci.

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 281
    Points : 36 768
    Points
    36 768
    Par défaut
    Salut,

    Citation Envoyé par popo Voir le message
    Mais le package n'apparait pas dans PyCharm.
    Que dois-je faire ?
    Si le Python de pycharm récupère un tar.gz, c'est qu'il n'a pas trouvé de binaires compilés correspondant à cette version là de Python. Du coup, il essaie de compiler... mais pour que ça marche, il faut avoir installé un environnement de compilation.

    Avec le Python en ligne de commande (un autre Python), ça trouve le binaire (.whl) et ça l'installe sans problème.

    Reste à apprendre à gérer vos différentes versions de Python depuis PyCharm...

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    2 667
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 2 667
    Points : 5 235
    Points
    5 235
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    Salut,



    Si le Python de pycharm récupère un tar.gz, c'est qu'il n'a pas trouvé de binaires compilés correspondant à cette version là de Python. Du coup, il essaie de compiler... mais pour que ça marche, il faut avoir installé un environnement de compilation.

    Avec le Python en ligne de commande (un autre Python), ça trouve le binaire (.whl) et ça l'installe sans problème.

    Reste à apprendre à gérer vos différentes versions de Python depuis PyCharm...

    - W
    Un autre python ?
    Quel autre python ?

    J'ai téléchargé python 3.10 depuis https://www.python.org/downloads/ et lancé le setup qui m'a installé python.
    Python.exe s'est déposé par défaut dans C:\Users\popo\AppData\Local\Programs\Python\Python310
    C'est le même chemin qui apparait dans %PATH%
    C'est le même chemin qui apparait dans la zone "Base interpreter" de mon environnement (File > Settings > Projet:python3-flask-2020 > Python Interpreter).

    Et je n'ai qu'un seul python qui apparait dans la liste des programmes.

    Edit :
    Si ça peut servir, je n'ai eu aucun mal à installer mysql-connector-python avec "pip install mysql-connector-python" depuis le terminal de Pycharm

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 281
    Points : 36 768
    Points
    36 768
    Par défaut
    Salut,

    Citation Envoyé par popo Voir le message
    J'ai téléchargé python 3.10 depuis https://www.python.org/downloads/ et lancé le setup qui m'a installé python.
    Vous voyez bien que lorsque l'installation marche çà charge psycopg2-2.9.1-cp39-cp39-win_amd64.whl.
    Ce qui est le kit pour une version de Python 3.9 64 bits pour Windows.

    Le whl pour la 3.10 n'est pas encore sorti (et vous récupérez le tar.gz à compiler).

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    2 667
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 2 667
    Points : 5 235
    Points
    5 235
    Par défaut
    J'ai fait une recherche sur tout mon disque.
    Au final, j'avais bien un python.exe dans un répertoire C:\Users\popo\AppData\Local\VirtualStore\Tools.
    Sauf que ce répertoire n'apparait pas dans le %PATH% et que le seul python apparaissant dans la liste des programmes était Python 3.10.

    Ce n'est certainement pas moi qui a créé se répertoire car lorsque j'ai commencé les tuto, je suis parti directement sur la 3.10 avec les options par défaut.
    J'ai supprimé ce répertoire et retenté l'opération dans l'invite de commande.
    Python toujours reconnu mais Pip ne l'est plus.

    Du coup, j'ai désinstallé la 3.10 et installé la 3.9 la plus proche de la date d'écriture du tuto (3.9.0).
    Après redémarrage, j'ai constaté que le batch mis en place l'informatique interne et qui se lance à chaque démarrage me recréait ce répertoire Tools.
    Mais sans python cette fois.

    J'ai vérifié le PATH.
    Il contenait toujours C:\Users\popo\AppData\Local\Programs\Python\Python310.
    Alors je l'ai changé en C:\Users\popo\AppData\Local\Programs\Python\Python39
    L'invite de commande reconnait de nouveau python et pip
    Finalement dans PyCharm, j'ai supprimé l'ancien environnement et j'en ai crée un autre avec le nouveau chemin.

    Et maintenant ça passe.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Python 3.X] installation de psycopg2
    Par yaka_balboa dans le forum Général Python
    Réponses: 3
    Dernier message: 26/08/2021, 09h28
  2. [Python 3.X] impossible d'installer la bibliothèque psycopg2
    Par Slylaar91 dans le forum Déploiement/Installation
    Réponses: 2
    Dernier message: 03/08/2017, 13h23
  3. Installer psycopg1 à la place de psycopg2 sous Debian wheezy
    Par clavier12AZQSWX dans le forum Général Python
    Réponses: 2
    Dernier message: 26/05/2014, 18h43
  4. Problème d'installation oracle 8.1.7 sous NT
    Par Anonymous dans le forum Installation
    Réponses: 7
    Dernier message: 02/08/2002, 14h18
  5. Réponses: 7
    Dernier message: 01/05/2002, 20h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo