Problème de python future sur les installs arm64

Yes! Voilà :

root@odroidc2:~# pip3 --version && python3 --version && whereis pip3
pip 20.0.2 from /usr/local/lib/python3.7/dist-packages/pip (python 3.7)
Python 3.7.3
pip3: /usr/bin/pip3 /usr/local/bin/pip3.7 /usr/local/bin/pip3 /usr/share/man/man1/pip3.1.gz

ce qui est dommage c’est que tu n’as pas fais de pip3 --version au début, du coup on ne sait pas si c’est l’image ou Jeedom qui l’a installé.

akenad :slight_smile:

@lunarok,

dans le pip list que j’ai envoyé hier il y a « futures »
dans l’installation des dépendances du plugin xiaomihome :

if [ $(pip list | grep future | wc -l) -eq 0 ]; then
    echo "Installation du module future pour python"
    sudo pip install future
fi

à un « s » près ça aurait pu le faire.

akenad :slight_smile:

mise à jour du tableau faisant apparaitre « future » et « futures » :

Remarque : l’Odroid-C2 Armbian Buster à « futures » donc actuellement le plugin xiaomihome ne va pas installer « future ».

plus généralement, on constate 10.0 n’a pas « futures » et 10.2 l’a.

@Kyoshi,
tu peux faire sur ton odroid-C2 un ? :
pip list | grep future
c’est quoi comme « Version OS »

akenad :slight_smile:

Voilà chef!

root@odroidc2:~# pip list | grep future
future       0.16.0

@akenad j’ai que future chez moi, tu peux faire le test avec :
pip list | grep "future "
pour voir si juste ca, ca dupera la bête

1 « J'aime »

akenad :slight_smile:

Cool, donc l’arnaque marche, c’est ajouté déjà :slight_smile:
Mais bon, ca explique pas tout le reste

non mais cela solutionne le présent sujet dans les cas standards.
dans le cas ou les jeedomiens commencent à faire de l’install « wild wild » sur du pip pip2 pip3 c’est une autre affaire.

akenad :slight_smile:

Oui, mais regarde ca :

C’est pas un user qui fait des trucs bizarre, il a une instance nouvelle sur freebox. Mais sauf que y a un mismatch, donc même avec ma gruge pas sur que ca marche (je sais meme pas si il a futures)

Bon, si cela permet déjà d’éviter des problèmes à certaines utilisateurs, c’est déjà ça de pris.

D’autres tests à faire? Sans faire d’install « wild wild » cette fois-ci :smiley:

toujours preneur pour ton Odroid-C2 de « Version OS » sur page santé Jeedom

akenad :slight_smile:

Oui, j’ai déjà vu ce post.

L’image de la VM Jeedom Delta (Buster) date du 08/10/2019 et il n’y en a pas eu d’autres.
Pour moi la spécificité ce n’est pas que ce soit de l’arm64 mais que c’est une image incluant une install de jeedom à un instant t, alors que dans tous les autres cas d’usage il s’agit d’une install des différentes dérivées de debian suivi de l’install.sh de jeedom qui a été modifié depuis octobre.
ce serait interessant d’avoir « Version OS » de la page santé de la VM Jeedom Delta

une buster 10.0 a un pip version de 18.1 au départ (les versions de pip, pip2, pip3 sont identiques)
actuellement un

# pip install --upgrade pip
# pip3 install --upgrade pip

les fait passer en 20.0.2 mais les répertoires sur lesquels il pointent ne sont plus les mêmes.

$ su -
# pip --version
pip 18.1 from /usr/lib/python2.7/dist-packages/pip (python 2.7)
# pip3 --version
pip 18.1 from /usr/lib/python3/dist-packages/pip (python 3.7)

# pip install --upgrade pip
Collecting pip
  Downloading https://files.pythonhosted.org/packages/54/0c/d01aa759fdc501a58f431eb594a17495f15b88da142ce14b5845662c13f3/pip-20.0.2-py2.py3-none-any.whl (1.4MB)
    100%  1.4MB 194kB/s
Installing collected packages: pip
  Found existing installation: pip 18.1
    Not uninstalling pip at /usr/lib/python2.7/dist-packages, outside environment /usr
    Can't uninstall 'pip'. No files were found to uninstall.
Successfully installed pip-20.0.2

# pip3 install --upgrade pip
Collecting pip
  Using cached https://files.pythonhosted.org/packages/54/0c/d01aa759fdc501a58f431eb594a17495f15b88da142ce14b5845662c13f3/pip-20.0.2-py2.py3-none-any.whl
Installing collected packages: pip
  Found existing installation: pip 18.1
    Not uninstalling pip at /usr/lib/python3/dist-packages, outside environment /usr
    Can't uninstall 'pip'. No files were found to uninstall.
Successfully installed pip-20.0.2

# pip --version
WARNING: pip is being invoked by an old script wrapper. This will fail in a future version of pip.
Please see https://github.com/pypa/pip/issues/5599 for advice on fixing the underlying issue.
To avoid this problem you can invoke Python with '-m pip' instead of running pip directly.
pip 20.0.2 from /usr/local/lib/python2.7/dist-packages/pip (python 2.7)

# pip3 --version
WARNING: pip is being invoked by an old script wrapper. This will fail in a future version of pip.
Please see https://github.com/pypa/pip/issues/5599 for advice on fixing the underlying issue.
To avoid this problem you can invoke Python with '-m pip' instead of running pip directly.
pip 20.0.2 from /usr/local/lib/python3.7/dist-packages/pip (python 3.7)
# python -m pip --version
pip 20.0.2 from /usr/local/lib/python2.7/dist-packages/pip (python 2.7)
# python3 -m pip --version
pip 20.0.2 from /usr/local/lib/python3.7/dist-packages/pip (python 3.7)

l’exemple que tu donnes de la VM Jeedom Delta est pip 19.3.1 (pip pointe sur python3)
l’exemple de l’Odroid-C2 de @Kyoshi est pip 20.0.2

D’autre part j’avais compris qu’il était prévu qu’un jour pip ne pointe plus par défaut sur python2 mais python3. Il faut s’attendre à ce que ça arrive un jour.

j’ai pris une autre VM pour faire un autre essai en changeant de méthode : (python -m pip install au lieu de pip install)

$ su -
# python3 -m pip install --upgrade pip
Collecting pip
  Downloading https://files.pythonhosted.org/packages/54/0c/d01aa759fdc501a58f431eb594a17495f15b88da142ce14b5845662c13f3/pip-20.0.2-py2.py3-none-any.whl (1.4MB)
    100%  1.4MB 63kB/s
Installing collected packages: pip
  Found existing installation: pip 18.1
    Not uninstalling pip at /usr/lib/python3/dist-packages, outside environment /usr
    Can't uninstall 'pip'. No files were found to uninstall.
Successfully installed pip-20.0.2
# python3 -m pip --version
pip 20.0.2 from /usr/local/lib/python3.7/dist-packages/pip (python 3.7)

# pip --version
pip 20.0.2 from /usr/local/lib/python3.7/dist-packages/pip (python 3.7)
# python -m pip install --upgrade pip
Collecting pip
  Using cached https://files.pythonhosted.org/packages/54/0c/d01aa759fdc501a58f431eb594a17495f15b88da142ce14b5845662c13f3/pip-20.0.2-py2.py3-none-any.whl
Installing collected packages: pip
  Found existing installation: pip 18.1
    Not uninstalling pip at /usr/lib/python2.7/dist-packages, outside environment /usr
    Can't uninstall 'pip'. No files were found to uninstall.
Successfully installed pip-20.0.2

# pip --version
pip 20.0.2 from /usr/local/lib/python2.7/dist-packages/pip (python 2.7)

# python -m pip install --upgrade pip
DEPRECATION: Python 2.7 reached the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 is no longer maintained.
A future version of pip will drop support for Python 2.7. More details about Python 2 support in pip,
can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support
Requirement already up-to-date: pip in /usr/local/lib/python2.7/dist-packages (20.0.2)

Remarques :

  • j’ai provoqué pip pointant sur python3 et ensuite rétabli la situation.
  • un message dit que python 2.7 est mort depuis le début de l’année.

En résumé, il semble préférable d’utiliser :

$ sudo python -m pip install module
$ sudo python3 -m pip install module

plutôt que :

$ sudo pip install module
$ sudo pip3 install module

ce qui pourrait donner :

if [ $(python -m pip list | grep "future " | wc -l) -eq 0 ]; then
    echo "Installation du module future pour python"
    sudo python -m pip install future
fi

akenad :slight_smile:

Je suis en

Linux odroidc2 5.4.21-meson64 #20.02.3 SMP PREEMPT Fri Feb 21 17:46:54 CET 2020 aarch64 GNU/Linux [10.3]

OK donc toujours 10.3

@akenad, @lunarok, besoin que je refasse une clean install?
Je n’en suis pas à une près… :sweat_smile:

Pas de pip3 installé après une fresh install de l’OS.

Après installation de Jeedom :

root@odroidc2:~# pip3 --version
pip 18.1 from /usr/lib/python3/dist-packages/pip (python 3.7)

Merci @Kyoshi, ça confirme les hypothèses.

akenad :slight_smile:

@lunarok,

Dans la série problème python suite action utilisateur,
celui la est intéressant : Plugin enocean / problème de port - #4 par akenad
la ce n’est pas le pointage de pip qui est changé mais celui de python.

akenad :slight_smile: