Bienvenue sur IndexError.

Ici vous pouvez poser des questions sur Python et le Framework Django.

Consultez la FAQ pour améliorer vos chances d'avoir des réponses à vos questions.

TypeError: fork_exec() avec subprocess sous python3.6

0 votes

J'ai composé un petit programme pour lancer en une ligne firefox et sublime text.

#!/usr/bin/env python3.6
# -*- coding:Utf-8 -*-

import subprocess
import os
import time

subprocess.Popen("subl ", shell=True, bufsize=0)
subprocess.Popen("firefox -p Anglais", shell=True, bufsize=0)
time.sleep(2)
os.system("wmctrl -r 'Google Traduction - Mozilla Firefox' -e 0,0,633,1674,386")
os.system("wmctrl -r 'Sublime Text' -e 0,0,0,1674,579")

Sous python3.6, lorsque je lance directement, j'ai droit comme erreur:

    simon@simon-bigPC:~$ python3.6  Programmation/Dev/Projet/Anglais-Translate/englishTR.py 
Traceback (most recent call last):
  File "Programmation/Dev/Projet/Anglais-Translate/englishTR.py", line 8, in <module>
    subprocess.Popen("subl ", shell=True, bufsize=0)
  File "/usr/local/lib/python3.6/subprocess.py", line 707, in __init__
    restore_signals, start_new_session)
  File "/usr/local/lib/python3.6/subprocess.py", line 1260, in _execute_child
    restore_signals, start_new_session, preexec_fn)
TypeError: fork_exec() argument 4 must be tuple, not list

Alors que sous python2.7, cela fonctionne.
J'aimerai comprendre le message d'erreur et savoir si vous avez une idée pour corriger le problème.

Merci d'avance pour votre aide

demandé 8-Jul-2019 par rosalia (156 points)

Hm bizarrement cela ne plante pas chez moi. Quelle version exacte de Python 3.6 ?

Se connecter ou S'inscrire pour répondre à cette question.

...