VPython aujourd'hui !

Fermé
GECEHE Messages postés 8 Date d'inscription mardi 18 mai 2021 Statut Membre Dernière intervention 4 novembre 2024 - 18 mai 2021 à 16:53
mamiemando Messages postés 33372 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 22 novembre 2024 - 21 mai 2021 à 15:32
Bonjour,

En 2011 j'utilisais python 2.5 et le module vpython, tout était simple, limpide, facile d'installation et j'y prenais beaucoup de plaisir.

Puis retraite, déménagement, changement de matériel et beaucoup d'autres nouvelles activités, bref j'ai un peu négligé python !

Aujourd'hui, nouveau départ, j'utilise python 3.7.3 et je souhaite bien sûr de nouveau utiliser un vpython. Et là, hélas, c'est terrible je ne m'en sort plus, je suis complètement dans le brouillard, impossible de trouver de bonnes informations claires (en français), détaillées sur l'internet. J'en ai vu des choses farfelues, antipédagogiques et autres ..... !

Aujourd'hui, il me semble, que les installations sont plus compliquées et j'ai l'impression que pour faire fonctionner vpython il faut toujours être en ligne. Qu'est ce que c'était bien dans l'ancien temps !

Je travaille avec un Raspberry Pi400 et l'IDE Thonny, je ne souhaite pas programmer dans un navigateur, ni travailler avec Glowscript. Est ce que c'est possible ?

Dernièrement j'ai tenté l'installation de vpython 7, avec dans une console la commande : pip install vpython, et lorsqu'un programme tente d'utiliser ce module, il ne le trouve pas !

Pouvez-vous m'extirper de ce marécage fétide ?

J'espère ne pas avoir été trop long et avoir tout dit.

Merci et au revoir.

2 réponses

mamiemando Messages postés 33372 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 22 novembre 2024 7 802
Modifié le 18 mai 2021 à 17:27
Bonjour,

Il faut effectivement installer le module vpython avec
pip
:
  • Windows :
    pip install vpython
  • Linux :
    sudo pip3 install vpython


Assure-toi que le
pip
que tu utilises correspond bien à python3 et non python2 (sous linux, ils s'appellent respectivement
pip
et
pip3
pour lever toute ambiguité) en regardant où ton module vpython est installé (quitte à le désinstaller et le résinstaller).

--> Peux-tu nous reporter le répertoire dans lequel
vpython
a été installé) ?


Ensuite, pour que ton module soit trouvé, lance ton intepréteur Python3
  • Windows :
    python
    (ou un interpréteur plus évolué comme
    python
    )
  • Linux :
    python3
    (ou un interpréteur plus évolué comme
    ipython3
    )


De là, regarde quels dossiers sont référencés dans
sys.path
. Vérifie également quel interpéteur python tu utilises et sa version (indiquée au moment de lancer ton interpréteur python) :

import sys
print(sys.path)
print(sys.executable)
print(sys.version)


--> Peux-tu nous reporter les résultats obtenus ?

Si tu tentes de faire un
import vpython
, ton interpréteur python va parcourir chaque dossier listé dans
sys.path
et s'arrêter sur le premier qui contient un dossier
vpython
contenant un fichier
__init__.py
. Si aucun dossier listé dans
sys.path
ne vérifie cette propriété, alors ton interpéteur python te dira qu'il n'est pas parvenu à importer le module (ce qui semble être ton cas).

Il faut alors confronter le dossier dans lequel est installé ton module
vpython
et ceux listés dans
sys.path
. Parmi les erreurs typiques, il y a :
  • le module n'a pas été correctement installé (e.g. la commande
    pip install ...
    a échoué)
  • le module a été installé pour python2 alors que tu utilises un interpréteur python3
  • le module a été installé dans une version antérieure de python (e.g. python3.8), et au moment où tu l'exécutes, tu utilises une autre version (e.g. python3.9).


Tous ces problèmes se repèrent aisément avec les informations demandées plus haut.

Exemple (sous linux) :

(mando@silk) (~) $ ipython3
Python 3.9.2 (default, Feb 28 2021, 17:03:44)
Type 'copyright', 'credits' or 'license' for more information
IPython 7.20.0 -- An enhanced Interactive Python. Type '?' for help.

In [1]: import sys

In [2]: sys.executable
Out[2]: '/usr/bin/python3'

In [3]: sys.version
Out[3]: '3.9.2 (default, Feb 28 2021, 17:03:44) \n[GCC 10.2.1 20210110]'

In [4]: sys.path
Out[4]:
['/usr/bin',
'/usr/lib/python39.zip',
'/usr/lib/python3.9',
'/usr/lib/python3.9/lib-dynload',
'',
'/home/mando/.local/lib/python3.9/site-packages',
'/usr/local/lib/python3.9/dist-packages',
'/usr/lib/python3/dist-packages',
'/usr/lib/python3/dist-packages/IPython/extensions',
'/home/mando/.ipython']

In [5]: import numpy


(dans cet exemple, l'import a fonctionné car numpy est installé dans
/usr/lib/python3/dist-packages/numpy
et
/usr/lib/python3/dist-packages/
figure bien dans
sys.path
).

Bonne chance
1
Bonjour,

je vous remercie beaucoup pour votre réponse, que j’ai étudiée dans le détail.

j’ai recherché si
vpython
existait sur ma machine, recherche faite depuis la racine et dans tous les répertoires et sous-répertoires. Résultat : aucune trace de vpython.
Je fais un
import vpython
et effectivement rien n’est trouvé.

Ensuite j’ai fait les opérations suivantes :

import sys
print(sys.path)
print(sys.executable)
print(sys.version)


Résultats : Là aussi on ne voit pas de vpython.

pi@raspberrypi:~ $ python3
Python 3.7.3 (default, Jul 25 2020, 13:03:44)
[GCC 8.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> print(sys.path)
['', '/usr/lib/python37.zip', '/usr/lib/python3.7', '/usr/lib/python3.7/lib-dynload', '/home/pi/.local/lib/python3.7/site-packages', '/usr/local/lib/python3.7/dist-packages', '/usr/lib/python3/dist-packages']
>>> print(sys.executable)
/usr/bin/python3
>>> print(sys.version)
3.7.3 (default, Jul 25 2020, 13:03:44)
[GCC 8.3.0]
>>>


L’installation que j’ai tentée, je l’ai faite avec la commande (sous python3) :
« 
pip install vpython
 », chose que préconise « brutalement le site : vpython.org.
Je pense maintenant qu’il fallait faire plutot (directement sous linux ou sous python3, alors là j’ai un doute) :
« 
sudo pip3 install vpython
 ».

J’ai lu ou entendu, je ne sais plus où, que vpython ne fonctionnerait pas avec python 3.7 !! Parce que à python 3.7, il lui manquerait « les binaires » !!

A bientôt bonne journée .
0
mamiemando Messages postés 33372 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 22 novembre 2024 7 802
Modifié le 21 mai 2021 à 15:34
Bonjour,

Vu que tu es sous linux et en python3, dans ton cas il suffit d'installer vpython avec la commande

sudo pip3 install vpython


... et ça devrait marcher.

Démarche complète : pour les distributions basées sur Debian (Ubuntu, Mint...). Tape dans ton terminal

sudo apt update
sudo apt install python3 python3-pip
sudo pip3 install vpython
python3


puis :

import vpython


Bonne chance
0