VPython aujourd'hui !

GECEHE Messages postés 27 Date d'inscription   Statut Membre Dernière intervention   -  
mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   -
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

  1. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 944
     
    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
    1. GECEHE
       
      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
  2. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 944
     
    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