Pourquoi est-ce que je n'arrive pas à installer Python 2.7 ?

Fermé
RareApple - Modifié le 24 févr. 2023 à 02:53
mamiemando Messages postés 33357 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 14 novembre 2024 - 1 mars 2023 à 12:44

Bonjour,

Aujourd'hui j'ai essayé d'installer plusieurs Library avec

pip3 install -r requirements.txt

mais j'ai des erreurs avec numpy et opencv. Voici le résultat :

Collecting numpy==1.17.2
  Using cached numpy-1.17.2.zip (6.5 MB)
  Preparing metadata (setup.py) ... done
ERROR: Ignored the following versions that require a different python version: 1.21.2 Requires-Python >=3.7,<3.11; 1.21.3 Requires-Python >=3.7,<3.11; 1.21.4 Requires-Python >=3.7,<3.11; 1.21.5 Requires-Python >=3.7,<3.11; 1.21.6 Requires-Python >=3.7,<3.11
ERROR: Could not find a version that satisfies the requirement opencv-python==4.1.1.26 (from versions: 3.4.0.14, 3.4.10.37, 3.4.11.39, 3.4.11.41, 3.4.11.43, 3.4.11.45, 3.4.13.47, 3.4.15.55, 3.4.16.57, 3.4.16.59, 3.4.17.61, 3.4.17.63, 3.4.18.65, 4.3.0.38, 4.4.0.40, 4.4.0.42, 4.4.0.44, 4.4.0.46, 4.5.1.48, 4.5.3.56, 4.5.4.58, 4.5.4.60, 4.5.5.62, 4.5.5.64, 4.6.0.66, 4.7.0.68)
ERROR: No matching distribution found for opencv-python==4.1.1.26

Je pense que c'est dû au fait que je n'ai pas installé python 2.7.

Mais voici mon deuxième problème python 2.7 ne veux pas s'afficher dans la ligne de commande 

$ python --version
Python 3.11.2

... est mon seul résultat.

En gros, il ne veut pas s'installer.

Si quelqu'un a une piste ou une solution ça serait cool.

A voir également:

14 réponses

Salut, ta version de python est trop récente.

Il est bien stipulé Requires-Python >=3.7,<3.11

Ce que l'on peut voir sur la page dédiée.

https://pypi.org/project/numpy/

Donc, la solution est d'installer une version un peu plus ancienne (antérieure à la 3.11).

1

Ouai mais le problème c'est que j'ai installer python 3.10 mais il est pas affiché dans les résultat de la commande python --version en fait le seul qui s'affiche c'est la dernière version 3.11 donc je sait pas quoi faire.

0

Je ne sais pas si tu es sur Linux ou Windows. Moi, je suis sur Windows.
Je travaille en invite de commande avec cmd.
Quand j'utilise  py , je suis sur Python 3.11
et quand j'utilise  python , je suis sur Python 3.10
Tu pourrais essayer de désinstaller Python 3.11
Ou bien essaies
xxx py
xxx python
où xxx est where sur Windows et which sur Linux
Tu verras si tu as plus d'une version.

0

Peux-tu préciser ?

0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question

Je ne sais toujours pas sur quel système tu te trouves.
L'idée est de savoir quelles versions de Python se trouvent sur ton système.
Je sais comment désinstaller sur Windows, mais pas sur Linux (Ubuntu?)

0

J'ai Windows 10 64 Bit

0

Ouais mais le problème c'est que j'ai installé python 3.10, mais il est pas affiché dans les résultats de la commande python --version en fait le seul qui s'affiche c'est la dernière version 3.11 donc je sais pas quoi faire.

Quand tu vas sur cmd et que tu tapes :

where python

... tu devrais avoir au moins deux entrées, une avec python310 et une avec python311.
Est-ce bien ce que tu obtiens?
Sais-tu comment désinstaller Python 3.11 dans le Panneau de configurations ?

Il y a plus d'une façon pour aller dans le Panneau de configurations. Voici la mienne:

  • Faire le raccourci Windows+R
  • Taper cmd s'il n'est pas déjà là.
  • Taper Shift+Control+Enter pour passer en mode administrateur.

Le système demande si on veut apporter des modifications à notre ordinateur, On répond sur le oui

  • On tape la commande   control   pour aller dans le Panneau de configurations
  • On tape des  p  jusqu'à atteindre Programs et fonctionnalités. On clique dessus.
  • On avance jusqu'au programme qu'on veut désinstaller.
  • On va dans le Menu contextuel, Pour moi ça marche avec Alt
  • On avance dans les options jusqu'à Désinstaller et on clique dessus.

Le système nous demandera encore si on veut apporter des modifications ...
Ça prend un peu de temps .. Quand c'est fini, on sort avec Alt+F4

0

Pourquoi faut-t'il désinstaller python 3.11 ?

0

À cause de ce message:
 

>>> ERROR: Ignored the following versions that require a different python version: 1.21.2 Requires-Python >=3.7,<3.11; 1.21.3 Requires-Python >=3.7,<3.11;
0

c'est bon ça fonctionne mais open CV a eu le même problème avec Python 3.10 alors je l'ai désinstallé pour laisser que python 2.7 mais la une autre erreur

C:\Users\rarep>C:\Users\name\Desktop>pip install opencv-python==4.1.1.26
'C:\Users\name\Desktop' n’est pas reconnu en tant que commande interne
ou externe, un programme exécutable ou un fichier de commandes.

C:\Users\name>Fatal error in launcher: Unable to create process using '"C:\Users\name\AppData\Local\Programs\Python\Python310\python.exe"  "C:\Users\name\AppData\Local\Programs\Python\Python310\Scripts\pip.exe" install opencv-python==4.1.1.26': Le fichier spÚcifiÚ est introuvable.
0

Ne faites pas attention à la commande en haut, j'ai tenté...

0

Alors que voulait dire le commentaire suivant :

>>> Ouais mais le problème c'est que j'ai installé python 3.10 mais il est pas affiché dans les résultat de la commande python --version en fait le seul qui [...]

Lorsque on a plus d'une version d'un programme, c'est le premier de la liste qui est exécuté.
Même si Python 3.10 est installé, tu ne peux pas y accéder car Python 3.11 est placé avant lui dans la liste de la variable d'environnement path.
Tu pourrais essayer sur cmd:  echo %path%  pour voir..
C'est pour cela que je te demandais de désinstaller Python 3.11
À moins que tu saches jouer avec la variable d'environnement path de Windows, ce dont je doute.

0
mamiemando Messages postés 33357 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 14 novembre 2024 7 799
24 févr. 2023 à 03:05

Bonjour,

Quelques remarques :

  • Sous windows je ne sais pas mais sous Linux ce n'est pas la variable PATH qui détermine quel est l'interpréteur python exécuté (c'est le lien symbolique /usr/bin/python3 (ou /usr/bin/python en python 2) qui pointe sur une version précise de python, par exemple /usr/bin/python3.10)
  • Ni opencv, ni numpy ne nécessitent de basculer en python2. C'est une mauvaise idée quand tu as le choix entre python2 et python3 d'utiliser python2 : python3 est plus moderne et plus pratique.
  • Personnellement je recommande d'éviter de passer par pip quand c'est possible. Il vaut mieux se reposer sur le gestionnaire de paquets (par exemple apt si on utilise un Linux basé sur Debian ; conda si on est sous Windows et qu'on utilise anaconda). Ce faisant le module est installé conformément avec ce qui est déjà installé. Avec conda, voir ces liens :
  • Normalement, pip n'est utile que si on ne trouve pas son bonheur avec son gestionnaire de paquets (ce qui n'est ni le cas de numpy, ni celui d'opencv).

Bonne chance

0

C'est vrai que lorsqu'on clique sur un fichier *.py et qu'il y a la ligne d'entête, c'est cette version de Python qui est exécutée.
Mais si on appelle Python lui-même en invite de commande, c'est la première version trouvée dans le PATH qui sera exécutée.
par exemple:
$ python -m pip install numpy

0
mamiemando Messages postés 33357 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 14 novembre 2024 7 799
Modifié le 24 févr. 2023 à 13:05

Bonjour Pierrot,

Je crois que nous parlons de deux choses différentes : toi tu parles du shebang qui permet effectivement de spécifier l'interpréteur (python, bash ou autre) et dans le cas de python, sa version (puisqu'il existe un exécutable par version de python).

Exemples :

#!/usr/bin/python3

print("Hello")

... ou mieux : 

#!/usr/bin/env python3

print("Hello")

Moi je te parle de comment est géré la gestion de la version de python. Sous Windows je n'en sais rien je n'utilise pas python sous Windows. Sous Linux, un lien symbolique crée un "raccourci" nommé python qui pointe vers l'interpréteur dont la version est la plus récente.

Exemple :

(mando@silk) (~) $ ls -l /usr/bin/python3
lrwxrwxrwx 1 root root 10 27 déc.  08:19 /usr/bin/python3 -> python3.10

(mando@silk) (~) $ which python3.10
/usr/bin/python3.10
0
mamiemando Messages postés 33357 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 14 novembre 2024 7 799
1 mars 2023 à 12:44

Bonjour,

opencv et python3.11

Je me permets de revenir sur ce sujet car j'ai trouvé très étonnant qu'opencv ne soit pas compatible avec python 3.11. Ça tombe bien, python 3.11 a été déployé récemment sous Debian, et comme vous pouvez le voir ci-dessous, opencv s'importe et fonctionne sans problème :

(mando@silk) (~) $ ipython3
Python 3.11.2 (main, Feb 12 2023, 00:48:52) [GCC 12.2.0]
Type 'copyright', 'credits' or 'license' for more information
IPython 8.5.0 -- An enhanced Interactive Python. Type '?' for help.

In [1]: import cv2

In [2]: import numpy as np

In [3]: cv2.Rodrigues(np.array([np.pi, np.pi/2, 0], dtype=np.float32))
Out[3]: 
(array([[ 0.6135935 ,  0.77281296, -0.16205902],
        [ 0.77281296, -0.5456259 ,  0.32411805],
        [ 0.16205902, -0.32411805, -0.9320324 ]], dtype=float32),
 array([[ 0.2616188 , -0.2772436 , -0.33154497, -0.2772436 ,  0.06249923,
          0.7662599 ,  0.33154497, -0.7662599 ,  0.32411805],
        [-0.36117858,  0.2303692 , -0.26894245,  0.2303692 ,  0.5232376 ,
          0.33154497,  0.26894245, -0.33154497,  0.16205902],
        [ 0.        ,  0.10316997,  0.491988  , -0.10316997,  0.        ,
          0.245994  ,  0.491988  ,  0.245994  ,  0.        ]],
       dtype=float32))

Il n'y a donc a priori pas de raison d'utiliser python2 ou même une version antérieure de python.

Avec PIP

Je ne sais pas d'où viennent les dépendances bizarres évoquées dans le message initial, mais je suspecte que la base de paquet PIP n'est pas à jour (voici comment procéder).

Avec APT (sous Linux)

Par certains indices dans le message initial laisse penser que RareApple est sous Linux, donc autant utiliser le moins possible PIP et installer les dépendances python via apt autant que faire se peut. Dans APT, les paquets python3 sont préfixés par "python3" (le module python cv2 correspond au paquet python3-opencv).

Pour chercher des paquets avec APT, on peut utiliser la commande apt-cache search éventuellement conjuguée avec grep.

Exemple :

(mando@silk) (~) $ apt-cache search opencv | grep python3
python3-gyoto - General relativistic geodesic integration for the Python 3 language
python3-mrgingham - Chessboard finder for visual calibration routines
python3-pylibdmtx - Read Data Matrix barcodes (Python3 version)
python3-pyzbar - Python bindings for libzbar
python3-opencv-apps - opencv_apps Robot OS package - Python 3 bindings
python3-cv-bridge - cv_bridge ROS package - Python 3 bindings
python3-image-geometry - image_geometry Robot OS package - Python 3 bindings
python3-willow - Python image library combining Pillow, Wand and OpenCV (Python 3)
python3-opencv - liaisons Python⋅3 pour la bibliothèque de vision par ordinateur

Pour des recherches plus fines (par exemple basée sur le nom du module python), il faut installer apt-file :

sudo apt update
sudo apt install apt-file
sudo apt-file update

... puis l'utiliser comme suit :

apt-file search python3 | grep /cv2

Exemple :

(mando@silk) (~) $ apt-file search python | grep /cv2
python3-opencv: /usr/lib/python3/dist-packages/cv2.cpython-311-x86_64-linux-gnu.so

Bonne chance

0