ojeda a écrit 12 commentaires

  • [^] # Re: PHP, qui appelle python, qui appelle ....

    Posté par  . En réponse au message Problème d’exécution d'un code python depuis une page php. Évalué à 2. Dernière modification le 17 juin 2022 à 11:21.

    Bonjour,

    Pour poser le décors, je suis dans une université et nous avons beaucoup de salles de manipulation expérimentales. Avec le covid nous avons souhaité rendre ces manipulations faisables à distance. Un collègue a crée un serveur où les étudiants se connectent. Ce serveur sert d’interface. Ils peuvent choisir l’expérience à réaliser et les paramètres de cette expérience. Moi, j’ai un raspberry qui va piloter les expériences dans une salle en python ou c ou… Il me faut donc un programme php qui va lancer le script python de l’expérience. Ce script lance l’expérience et récupère les données qui sont ensuite transmises au serveur puis du serveur aux étudiants.

    Mon cadre étant donc très contraint.

    J’espère à l’avenir faire mieux que ce que j’ai actuellement et qui est un peu bricolage!

    Merci

  • [^] # Re: Durée, mémoire...?

    Posté par  . En réponse au message Problème d’exécution d'un code python depuis une page php. Évalué à 3. Dernière modification le 17 juin 2022 à 11:21.

    Merci à tous pour vos conseils.

    Je viens d’arriver à faire marcher tout cela. Le problème était de rajouter :

    putenv('PYTHONPATH=/home/raspberry/.local/lib/python3.9/site-packages/');

    C'est super!!! :)

  • [^] # Re: Durée, mémoire...?

    Posté par  . En réponse au message Problème d’exécution d'un code python depuis une page php. Évalué à 2.

    Merci.

    Je vais essayer de regarder de ce coté là.

    Sinon, j'ai une solution qui fonctionne : je n'utilise plus la bibliothèque control. J'en ai besoin pour un calcul mais qui peut se faire à la "main". Du coup, une fois que j'enlève le "import control" ca passe crème! Bon, ce n'est pas une vraie solution mais pour le moment je n'ai pas mieux.

  • [^] # Re: Durée, mémoire...?

    Posté par  . En réponse au message Problème d’exécution d'un code python depuis une page php. Évalué à 1.

    Malheureusement, pas de changement.

    Je vais voir si je fais le test sur un vrai linux et pas de raspberry pour voir si j'obtiens autre chose.

  • [^] # Re: Durée, mémoire...?

    Posté par  . En réponse au message Problème d’exécution d'un code python depuis une page php. Évalué à 1.

    Bonjour,

    Merci pour le retour. Tu veux dire qu'il faudrait que je donne les droits d'accès (lecture) à www-data pour le répertoire /home/raspberry/.local/lib/python3.9/site-packages/control?

  • [^] # Re: Durée, mémoire...?

    Posté par  . En réponse au message Problème d’exécution d'un code python depuis une page php. Évalué à 1.

    Avec which python ca me donne /usr/bin/python … C'est fou car c'est le même que dans le bash…

  • [^] # Re: Durée, mémoire...?

    Posté par  . En réponse au message Problème d’exécution d'un code python depuis une page php. Évalué à 1.

    Mince, aucun changement. C'est hyper frustrant car je ne dois pas être loin.

    J'ai rajouté

    putenv('PYTHONPATH=/home/raspberry/.local/lib/python3.9/site-packages/control')
    C'est là ou se trouve le package "control" que j'utilise, c'est là que pip installe les packages.

    Merci pour tous ces conseils

  • [^] # Re: Durée, mémoire...?

    Posté par  . En réponse au message Problème d’exécution d'un code python depuis une page php. Évalué à 1.

    Pfiouuuu, pas facile! Merci pour ton aide!

    Pour l’environnement à partir du fichier php lancé par php test.php :

    LANGUAGE=fr_FR.UTF-8
    USER=raspberry
    XDG_SEAT=seat0
    TEXTDOMAIN=Linux-PAM
    SSH_AGENT_PID=769
    XDG_SESSION_TYPE=x11
    SHLVL=0
    HOME=/home/raspberry
    OLDPWD=/var/www/html/steeve
    DESKTOP_SESSION=LXDE-pi
    XDG_SEAT_PATH=/org/freedesktop/DisplayManager/Seat0
    DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
    COLORTERM=truecolor
    QT_QPA_PLATFORMTHEME=qt5ct
    LOGNAME=raspberry
    _=/bin/sh
    XDG_SESSION_CLASS=user
    TERM=xterm-256color
    XDG_SESSION_ID=1
    SAL_USE_VCLPLUGIN=gtk3
    PATH=/home/raspberry/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin/bin:/usr/local/games:/usr/games
    XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session0
    XDG_MENU_PREFIX=lxde-pi-
    XDG_RUNTIME_DIR=/run/user/1000
    DISPLAY=:0
    LANG=fr_FR.UTF-8
    XDG_CURRENT_DESKTOP=LXDE
    XDG_CONFIG_HOME=/home/raspberry/.config
    XDG_SESSION_DESKTOP=lightdm-xsession
    XAUTHORITY=/home/raspberry/.Xauthority
    SSH_AUTH_SOCK=/tmp/ssh-beG4hZo3fbXX/agent.712
    XDG_GREETER_DATA_DIR=/var/lib/lightdm/data/raspberry
    SHELL=/bin/bash
    NO_AT_BRIDGE=1
    GDMSESSION=lightdm-xsession
    _LXSESSION_PID=712
    GPG_AGENT_INFO=/run/user/1000/gnupg/S.gpg-agent:0:1
    XDG_VTNR=7
    PWD=/var/www/html/steeve
    LC_ALL=fr_FR.UTF-8
    XDG_CONFIG_DIRS=/etc/xdg
    XDG_DATA_DIRS=/usr/share/fkms:/usr/local/share:/usr/share/raspi-ui-overrides:/usr/share:/usr/share/gdm:/var/lib/menu-xdg
    VTE_VERSION=6203
    Pour l’environnement à partir du fichier php lancé par http://localhost/test.php :

    LANGUAGE=fr_FR.UTF-8
    APACHE_RUN_DIR=/var/run/apache2
    APACHE_PID_FILE=/var/run/apache2/apache2.pid
    JOURNAL_STREAM=8:90466
    PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
    INVOCATION_ID=f0945bc606b940f783c880efbb19b0fe
    APACHE_LOCK_DIR=/var/lock/apache2
    LANG=C
    APACHE_RUN_USER=www-data
    APACHE_RUN_GROUP=www-data
    APACHE_LOG_DIR=/var/log/apache2
    PWD=/var/www/html/steeve

  • [^] # Re: Durée, mémoire...?

    Posté par  . En réponse au message Problème d’exécution d'un code python depuis une page php. Évalué à 1.

    Merci.

    Effectivement, les deux environnements ne sont pas les mêmes.

    J'ai fait un test en modifiant mon fichier .py pour n'appeler que des bibliothèques natives. Et dans ce cas tout fonctionne très bien.

    Ce qu'il me reste à trouver est comment imposer à apache2 qu'il utilise /usr/bin/python pour python… aille aille…

  • [^] # Re: Durée, mémoire...?

    Posté par  . En réponse au message Problème d’exécution d'un code python depuis une page php. Évalué à 1.

    Comment peux t'on vérifier cela?

    J'avoue être pas très fort là dessus…

  • [^] # Re: Durée, mémoire...?

    Posté par  . En réponse au message Problème d’exécution d'un code python depuis une page php. Évalué à 1.

    Bonjour, merci pour la réponse.

    J'ai regardé /var/log/apache/error.log :

    [Wed Jun 15 08:42:33.516628 2022] [mpm_prefork:notice] [pid 657] AH00163: Apache/2.4.53 (Debian) configured—resuming normal operations
    [Wed Jun 15 08:42:33.516787 2022] [core:notice] [pid 657] AH00094: Command line: '/usr/sbin/apache2'
    Traceback (most recent call last):
    File "/var/www/html/steeve/correction_RST_BD_BO.py", line 20, in
    import control as ctl # Pour l'automatique
    ModuleNotFoundError: No module named 'control'

    Ce que j'en retiens est que le python qui est lancé dans apache n'est pas le même que le python shell.

    Pourtant je précise bien :

    /usr/bin/python /var/www/html/steeve/correction_RST_BD_BO.py
    et donc le chemin de python… argggg. Surtout que depuis un shell cette ligne fonctionne…

    Sinon dans error.log.1 j'avais :

    [Wed Jun 15 08:42:33.439356 2022] [mpm_prefork:notice] [pid 657] AH00171: Graceful restart requested, doing restart AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message
    Vous avez des conseils?

  • [^] # Re: et path!

    Posté par  . En réponse au message Problème d’exécution d'un code python depuis une page php. Évalué à 1.

    Merci pour la réponse.

    J'ai essayé mais ce n'est pas cela.