Bonjour, je rencontre un problème avec subprocess.Popen

J'ai inclus ce code dans mon programme principal python, pour pouvoir exécuter en parallèle un autre scripte python.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
script_path = "reconaissance_plaque_en_ligne.py"
subprocess.Popen(["python", script_path])
J'obtiens cette erreur:

Traceback (most recent call last):
File "C:\Users\cyril\PycharmProjects\pythonProject\reconaissance_plaque_en_ligne.py", line 1, in <module>
import requests
ModuleNotFoundError: No module named 'requests'
Hors le scripte python reconnaissance_plaque_en_ligne.py fonctionne correctement si je l’exécute depuis mon ide.

Mon scripte contient ceci:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
import requests
import json
import sys
import os  # pour parcourir le repertoire et deplacer les fichiers
import time
import calendar
 
regions = ['fr']
 
directory = 'voiture'
for filename in os.listdir(directory):
    f = os.path.join(directory, filename)
    if os.path.isfile(f) and filename.endswith('.jpg'):
        time.sleep(1)  # delai entre les requetes
        print(f)
        with open(directory + '/' + filename, 'rb') as fp:
            response = requests.post('https://api.platerecognizer.com/v1/plate-reader/', data=dict(regions=regions),
                                     files=dict(upload=fp),
                                     headers={'Authorization': 'Token 80eea5e90cdf8e7a9b7220908'})
        current_GMT = time.gmtime()
        timestamp = calendar.timegm(current_GMT)
        plate_data = response.json()
        if "results" in plate_data and plate_data["results"]:
            plate_number = plate_data["results"][0]["plate"]
            print("Plate Number is: " + plate_number.upper())
            # Déplacer un fichier en renommant son chemin
            #os.rename(f, 'voiture_traite/VOITURE_'+ plate_number.upper()+'_'+str(timestamp)+'.jpg')
            os.rename(f, 'voiture_traite/'+ plate_number.upper() +'_'+ filename)
            print("déplacé")
        else:
            print(
                "No plate found in image or 'results' key missing in response."
            )
            # Déplacer un fichier en renommant son chemin
            os.rename(f, 'voiture_echec/echec_'+ filename)

J'ai donc un message qui m'indique qu'il ne trouve pas la librairie requests, hors cette librairie est bien installé. Je ne comprends pas quel peut être le problème.