Utiliser subprocess.Popen pour executer un scripte en parallèle
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:
1 2
| script_path = "reconaissance_plaque_en_ligne.py"
subprocess.Popen(["python", script_path]) |
J'obtiens cette erreur:
Citation:
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:
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.