Contenu | Rechercher | Menus

Annonce

Ubuntu 16.04 LTS
Commandez vos DVD et clés USB Ubuntu-fr !

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

#1 Le 02/01/2017, à 13:19

vincen

[Résolu] Forcer la version de Python pour un script de démarrage ?

Bonjour

J'ai un soucis avec un script de démarrage qui me lance un programme en Python. En effet ce programme ne marche qu'avec Python 2.7 et non la version 3 mais j'ai les deux sur la machine ! Par défaut le système appelle la version 2.7 mais visiblement pas quand il appelle ce script de démarrage ! J'ai essayé d'ajouter comme ci-dessous en dur le chemin du binaire Python mais pas mieux sad:( Une idée de ce qui cloche ?

PS: si je fais à la main dans une console la ligne de commande telle qu'elle apparait ci-dessous aucun soucis mais pas quand c'est fait par le script de démarrage automatiquement sad

Merci et bonne année en attendant !

[Unit]
Description=PlexPy - Stats for Plex Media Server usage

[Service]
ExecStart=/usr/bin/python2.7 /opt/plexpy/PlexPy.py --quiet --daemon --nolaunch --config /opt/plexpy/config.ini --datadir /opt/plexpy
GuessMainPID=no
Type=forking
User=plex
Group=nogroup

[Install]
WantedBy=graphical.target

Dernière modification par vincen (Le 04/01/2017, à 12:55)


Portable Clevo W355ST Ubuntu Xenial 16.04 LTS
PC Assemblage Ubuntu 16.04 double écran sur NVidia
Linux Counter: 46271 http://linuxcounter.net/user/46271.html

Hors ligne

#2 Le 02/01/2017, à 13:46

bruno

Re : [Résolu] Forcer la version de Python pour un script de démarrage ?

Bonjour,

Le plus simple est d'indiquer cela dans le shebang de ton script python :

#!/usr/bin/python2.7

Hors ligne

#3 Le 03/01/2017, à 09:32

vincen

Re : [Résolu] Forcer la version de Python pour un script de démarrage ?

bruno a écrit :

Bonjour,
Le plus simple est d'indiquer cela dans le shebang de ton script python :

#!/usr/bin/python2.7

Merci pour la suggestion et désolé pour avoir oublier de le signaler mais déja testé et sans effet sad


Portable Clevo W355ST Ubuntu Xenial 16.04 LTS
PC Assemblage Ubuntu 16.04 double écran sur NVidia
Linux Counter: 46271 http://linuxcounter.net/user/46271.html

Hors ligne

#4 Le 03/01/2017, à 12:32

Hizoka

Re : [Résolu] Forcer la version de Python pour un script de démarrage ?

Salut,

es tu sûr que c'est la version 3 de python qui est exécuté ?

import platform

with open("/home/hizoka/test.txt", "w") as test:
  test.write(platform.python_version())

en remplaçant hizoka par ton nom.

Si c'est la bonne version, peut être le script est il exécuté trop vite (comme sur d'autres topics ou chez moi).

Hors ligne

#5 Le 03/01/2017, à 13:04

bruno

Re : [Résolu] Forcer la version de Python pour un script de démarrage ?

Outre la suggestion d'Hizoka, tu peux regarder le retour des commandes :

ls -l /usr/bin/python*

--> normalement python et python2 sont des liens symboliques vers python2.7 et tu devrais voir aussi python3.5 et python3.5m et cela devrait fonctioner sans problème sans avoir à préciser la version de l'interpréteur Python à utiliser.

D'ailleurs pourquoi ton unit systemd appelle-t-il python ? Ceci devrait suffire :

[Service]
ExecStart=/opt/plexpy/PlexPy.py --quiet --daemon --nolaunch --config /opt/plexpy/config.ini --datadir /opt/plexpy

Hors ligne

#6 Le 04/01/2017, à 12:54

vincen

Re : [Résolu] Forcer la version de Python pour un script de démarrage ?

Hizoka a écrit :

es tu sûr que c'est la version 3 de python qui est exécuté ?

Très bonne question et en fait c'est en creusant là-dessus que je me suis aperçu que je cherchais la solution au mauvais endroit ! En fait il lançait bien le script Python avec la bonne version de Python mais sous le mauvais user (j'avais zappé deux lignes plus bas dans le script de la déclaration du user sous lequel le processus doit tourner roll

Pour répondre à Bruno, c'était moi qui avait ajouté en dur le chemin vers l'exécutable Python dans le script pensant qu'il appelait par défaut la mauvaise version !

Merci pour vos aides en tout cas wink


Portable Clevo W355ST Ubuntu Xenial 16.04 LTS
PC Assemblage Ubuntu 16.04 double écran sur NVidia
Linux Counter: 46271 http://linuxcounter.net/user/46271.html

Hors ligne

#7 Le 04/01/2017, à 13:37

Hizoka

Re : [Résolu] Forcer la version de Python pour un script de démarrage ?

Content pour toi smile

Hors ligne