problème pyautogui

bonjour, je débute et je cherche à contrôler vlc avec deux capteurs HC-SR04. J'essai de suivre ce logiciel Amazing Control Computer Using Hand Motion and Arduino

mais je n'arrive pas à importer pyautogui qd je tape dans CMD 'import pyautogui' il me met "'import' n’est pas reconnu en tant que commande interne
ou externe, un programme exécutable ou un fichier de commandes." je ne comprend pas pourquoi.

si vous avec une idée ou une autre solution pour controler VLC je suis preneur !

merci d'avance

Il faut copier le script python du paragraphe "Step 6: Python Code" dans un fichier et le nommer : pythogui.py

Ensuite le lancer dans cmd :

python pythogui.py

Comme le fichier a l'extension .py, tu devrais avoir la possibilité de le lancer bêtement avec :

pythogui.py

Python est-il installé sur la machine ?
Et les librairies pyserial, PyAutogui ?

merci pour la réponse, je le copie dans quoi? un doc text? oui python est installé ainsi que pyserial et pyautogui

je l'ai mit dansd un doc txt et placé dans le dossier de python. Après avoir fais la commande python pythogui.py voilà ce qu'il se passe :

"Microsoft Windows [version 10.0.17134.648]
(c) 2018 Microsoft Corporation. Tous droits réservés.

C:\Program Files\VCG\MeshLab>cd C:\python

C:\python>python pythogui.py
File "pythogui.py", line 3
const int trigger1 = 2; //Trigger pin of 1st Sesnor
^
SyntaxError: invalid syntax

C:\python>

"

chevalchien:
je l'ai mit dansd un doc txt et placé dans le dossier de python.

Oui mais hbachetti avait parlé du script qui se trouve au step 6 pas celui du step 5.
Là tu t'embrouilles entre le sketch arduino et le code python.

Mamma mia ... ma que cazzo :confused:

non j'ai bien mit le code du step 6

Step 5 (c'est du C) :

const int trigger1 = 2; //Trigger pin of 1st Sesnor

Step 6 (du python) :

import serial #Serial imported for Serial communication

Si tu ne vois pas la différence entre les deux langages il vaut mieux changer de lunettes.

je m’étais trompé, j’avais mit les 2 codes à la suite. En mettant juste celui du step 6 voilà ce que j’obtiens

C:\python>python pythogui.py
Traceback (most recent call last):
  File "pythogui.py", line 3, in <module>
    import pyautogui   #Required to to perform actions
  File "C:\python\lib\site-packages\pyautogui\__init__.py", line 84, in <module>
    import pyscreeze
  File "C:\python\lib\site-packages\pyscreeze\__init__.py", line 168
    yield Box(x, y, needleWidth, needleHeight)
SyntaxError: 'return' with argument inside generator

C:\python>

en tapant ‘pyautogui.py’ au lieu de ‘pythogui.py’ voila ce que j’obtiens

C:\python>python pyautogui.py
Right Locked

Forward

Traceback (most recent call last):
  File "pyautogui.py", line 3, in <module>
    import pyautogui   #Required to to perform actions
  File "C:\python\pyautogui.py", line 23, in <module>
    pyautogui.hotkey('ctrl', 'right')
AttributeError: 'module' object has no attribute 'hotkey'

C:\python>

les droits du fichiers sont pourtant accessible par tous les utilisateurs

maintenant voilà ce qu’il se passe

c:\python>python pyautogui.py
Right Locked

Forward

Traceback (most recent call last):
  File "pyautogui.py", line 3, in <module>
    import pyautogui   #Required to to perform actions
  File "c:\python\pyautogui.py", line 23, in <module>
    pyautogui.hotkey('ctrl', 'right')
AttributeError: 'module' object has no attribute 'hotkey'

c:\python>python pyautogui.py
Right Locked

Forward

Traceback (most recent call last):
  File "pyautogui.py", line 3, in <module>
    import pyautogui   #Required to to perform actions
  File "c:\python\pyautogui.py", line 23, in <module>
    pyautogui.hotkey('ctrl', 'right')
AttributeError: 'module' object has no attribute 'hotkey'

pyautogui.py est un module importé par pythogui.py.
Il ne sert à rien de chercher à l'exécuter seul.

Ensuite :
Il semblerait que tu aies renommé le script pythogui.py en pyautogui.py

Un script pyautogui.py qui importe un module pyautogui : vraiment n'importe quoi.

Ce qui explique : AttributeError: 'module' object has no attribute 'hotkey'

Ensuite :
Si tu reviens au nom d'origine (pythogui.py), avec l'erreur suivante :
SyntaxError: 'return' with argument inside generator

Là je t'avoue franchement que le module pythogui semble ne pas fonctionner avec python 2.7.
Le simple fait de l'importer provoque une exception.

Possible que cela puisse fonctionner avec python 3.

Cela veut clairement dire que pyautogui a subi des évolutions testées sous python 3 mais pas sous python 2.7.

j’ai rechangé le nom et dl python 3 voilà maintenant ce que j’obtiens

C:\Users\espal\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Python 3.7>pythogui.py
Traceback (most recent call last):
  File "C:\Users\espal\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Python 3.7\pythogui.py", line 1, in <module>
    import serial #Serial imported for Serial communication
ModuleNotFoundError: No module named 'serial'

Il faut tout simplement réinstaller pyserial sur python 3
Et pyautogui bien sûr.
Reprendre tout depuis le début

tout désinstallé tout réinstallé voilà ce que me dit python

>>> import serial #Serial imported for Serial communication
>>> import time #Required to use delay functions
>>> import pyautogui   #Required to to perform actions
>>> ArduinoSerial = serial.Serial('com3',9600) #Create Serial port object called arduinoSerialData
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Users\espal\AppData\Local\Programs\Python\Python37-32\lib\site-packages\serial\serialwin32.py", line 31, in __init__
    super(Serial, self).__init__(*args, **kwargs)
  File "C:\Users\espal\AppData\Local\Programs\Python\Python37-32\lib\site-packages\serial\serialutil.py", line 240, in __init__
    self.open()
  File "C:\Users\espal\AppData\Local\Programs\Python\Python37-32\lib\site-packages\serial\serialwin32.py", line 62, in open
    raise SerialException("could not open port {!r}: {!r}".format(self.portstr, ctypes.WinError()))
serial.serialutil.SerialException: could not open port 'com3': PermissionError(13, 'Accès refusé.', None, 5)
>>> Traceback (most recent call last):
  File "<stdin>", line 1
    Traceback (most recent call last):
                         ^
SyntaxError: invalid syntax
>>>   File "<stdin>", line 1, in <module>
  File "<stdin>", line 1
    File "<stdin>", line 1, in <module>
    ^
IndentationError: unexpected indent
>>>   File "C:\Users\espal\AppData\Local\Programs\Python\Python37-32\lib\site-packages\serial\serialwin32.py", line 31, in __init__
  File "<stdin>", line 1
    File "C:\Users\espal\AppData\Local\Programs\Python\Python37-32\lib\site-packages\serial\serialwin32.py", line 31, in __init__
    ^
IndentationError: unexpected indent
>>>     super(Serial, self).__init__(*args, **kwargs)
  File "<stdin>", line 1
    super(Serial, self).__init__(*args, **kwargs)
    ^
IndentationError: unexpected indent
>>>   File "C:\Users\espal\AppData\Local\Programs\Python\Python37-32\lib\site-packages\serial\serialutil.py", line 240, in __init__
  File "<stdin>", line 1
    File "C:\Users\espal\AppData\Local\Programs\Python\Python37-32\lib\site-packages\serial\serialutil.py", line 240, in __init__
    ^
IndentationError: unexpected indent
>>>     self.open()
  File "<stdin>", line 1
    self.open()
    ^
IndentationError: unexpected indent
>>>   File "C:\Users\espal\AppData\Local\Programs\Python\Python37-32\lib\site-packages\serial\serialwin32.py", line 62, in open
  File "<stdin>", line 1
    File "C:\Users\espal\AppData\Local\Programs\Python\Python37-32\lib\site-packages\serial\serialwin32.py", line 62, in open
    ^
IndentationError: unexpected indent
>>>     raise SerialException("could not open port {!r}: {!r}".format(self.portstr, ctypes.WinError()))
  File "<stdin>", line 1
    raise SerialException("could not open port {!r}: {!r}".format(self.portstr, ctypes.WinError()))
    ^
IndentationError: unexpected indent
>>> serial.serialutil.SerialException: could not open port 'com3': PermissionError(13, 'Accès refusé.', None, 5)
  File "<stdin>", line 1
    serial.serialutil.SerialException: could not open port 'com3': PermissionError(13, 'Accès refusé.', None, 5)
                                                    ^
SyntaxError: invalid syntax
>>> time.sleep(2) #wait for 2 seconds for the communication to get established
>>> while 1:
...     incoming = str (ArduinoSerial.readline()) #read the serial data and print it as line
...     print(incoming)
...     
...     if 'Play/Pause' in incoming:
...         pyautogui.typewrite(['space'], 0.2)
... 
... 
...     if 'Rewind' in incoming:
...         pyautogui.hotkey('ctrl', 'left')  
... 
... 
...     if 'Forward' in incoming:
...         pyautogui.hotkey('ctrl', 'right') 
... 
... 
...     if 'Volume Incresaed' in incoming:
...         pyautogui.hotkey('ctrl', 'down')
...         
... 
... 
...     if 'Volume Decreased' in incoming:
...         pyautogui.hotkey('ctrl', 'up')
... 
... 
...     incoming = "";

Excusez moi, mais:
a) est ce que ‘com3’ est le port série utilisé par l’Arduino?
b) est ce que le terminal série de l’Arduino ne l’a pas monopolisé, rendant les consultations via python impossibles (la solution que je trouve est alors de … fermer le terminal série, -ce n’est pas un partageux- , et python a alors accès aux données)

pb résolu j'avais un mauvais code dans mon arduino...

IndentationError: unexpected indent

Python est très exigeant au niveau des indentations.
Il n'y a pas comme en C des accolades pour marquer les blocs de code. C'est l'indentation des lignes de code qui marque la délimitation de ceux-ci.
En particulier il ne faut pas mixer les espaces et les tabulations.
Il est recommandé d'utiliser un éditeur "sérieux" sinon on peut vite péter un plomb à chercher les erreurs.

merci des conseils, c'est la première fois que j'utilise arduino

Je ne parlais pas de l'arduino mais du programme Python