erreur lors de l'ouverture du port en python
Je vais essayer d'obtenir des données d'accélérométrie de TI Chronos, j'obtiens le message d'erreur suivant lorsque je lance le code:
Traceback (most recent call last):
File "C:\Python32\chronos_accel.py", line 50, in <module>
.
.
.
raise SerialException("could not open port %s: %s" % (self.portstr, ctypes.WinError()))
serial.serialutil.SerialException: could not open port COM4: [Error 5] Access is denied.
Pourquoi l'accès est refusé? Je suis l'administrateur du système. Pourrait-il être un problème dans le code?
Merci,
Jay
Le code est en cours d'exécution avec l'admin privilèges augmentés par rapport? Ne COM4 existent sur votre ordinateur? Essayer de vérifier avec HyperTerminal.
C'est certainement COM4. C'est ce qu'il montre pour la RF point d'accès sur la fenêtre du gestionnaire de périphériques. Je suppose qu'il est en cours d'exécution avec l'admin priv que je suis l'admin. Est-il un autre moyen d'exécuter du code avec les privilèges?
Vous êtes sous vista/Win 7? Dans ce cas, le script n'a pas les privilèges d'administrateur s'il n'a pas demandé.
Yep j'utilise Win7. Il semble y avoir aucune autre option pour le fichier pour l'exécuter en tant qu'administrateur.
avez-vous besoin des privilèges d'administrateur pour ouvrir un port série sur Windows 7?
C'est certainement COM4. C'est ce qu'il montre pour la RF point d'accès sur la fenêtre du gestionnaire de périphériques. Je suppose qu'il est en cours d'exécution avec l'admin priv que je suis l'admin. Est-il un autre moyen d'exécuter du code avec les privilèges?
Vous êtes sous vista/Win 7? Dans ce cas, le script n'a pas les privilèges d'administrateur s'il n'a pas demandé.
Yep j'utilise Win7. Il semble y avoir aucune autre option pour le fichier pour l'exécuter en tant qu'administrateur.
avez-vous besoin des privilèges d'administrateur pour ouvrir un port série sur Windows 7?
OriginalL'auteur Jay | 2011-05-24
Vous devez vous connecter pour publier un commentaire.
La source la plus commune de ces erreurs est le port déjà ouvert par une autre application, ou souvent par une précédente (exécuté, mais oublié de le tuer), instance de votre code.
Pour tester cette hypothèse, le plus simple est d'exécuter un autre programme qui ouvre le même port (par exemple Hyperterminal) lorsque vous obtenez l'erreur. Si elle échoue aussi, essayez de trouver qui détient le port.
Aussi, Portmon est un outil utile pour le débogage des problèmes similaires avec le port série.
Windows
plusieurs processus ne peut pas accéder port série simultanément. Mais ce n'est pas le cas avecLinux
système pourquoi donc ?Portmon ne fonctionne que sur les 32 bits de Windows versions.
OriginalL'auteur Eli Bendersky
J'ai tout compris. Assez Simple, j'ai juste désactivé le port COM dans le gestionnaire de périphériques de la fenêtre et activé à nouveau.
haha merci :). Je suis encore un newb ici
et comment dois-je faire?
Dû redémarrer, même après l'activer/désactiver, mais il a travaillé.
OriginalL'auteur Jay
Puisque c'est un top résultat de recherche, je suis à jour pour ajouter une autre situation qui crée aussi une erreur d'Accès Refusé: Le port autorisations sont fait refuser l'utilisateur normal de l'accès! Certains administrateurs système de verrouillage des ports pour de bonnes raisons, de sorte que seuls les utilisateurs avec des privilèges d'Administrateur peuvent accéder.
La plus simple solution de contournement consiste à exécuter cmd.exe en tant qu'Administrateur. Voir ceci: http://www.howtogeek.com/howto/windows-vista/run-a-command-as-administrator-from-the-windows-vista-run-box/
Résumé: Win+r, "cmd", Maj+Ctrl+Entrée
"Ça Marche Pour Moi!" (tm)
OriginalL'auteur BobC
Cours d'exécution python à partir de cmd en tant qu'administrateur fonctionne aussi pour moi.
À exécuter:
Type cmd à la recherche
Le bouton droit de la souris et sélectionnez exécuter en tant qu'administrateur
OriginalL'auteur Larry
Parfois, le port est bloqué.
Essayez de redémarrer le système. Il a travaillé pour moi.
OriginalL'auteur Aditya