J'utilise un script qui importe certains modules, l'un étant codecs
. Lorsque le script est exécuté, j'obtiens un Traceback (most recent call last):
sur la ligne import codecs
et SyntaxError: ('no viable alternative at input \'""\'', ('C:\\Python26\\lib\\codecs.py', 268, 17, ' return (b"", 0)\n'))
. Cela ne se produit que lorsque j'exécute mon propre script qui à son tour exécute le script qui importe le module codecs
. Si j'exécute directement le script via cmd, l'erreur ne se produira pas.Python: Erreur de syntaxe pour le module importé - 'codecs.py'
1
A
Répondre
2
qui à son tour exécute le script qui ...
Comment ça « Execute » le script? Vous voulez dire une importation? Un appel de sous-processus? Autre chose? Parce que "aucune alternative viable à l'entrée ..." est une erreur d'analyseur ANTLR distincte, et CPython 2.6 ne l'utilise pas.
Jython 2.5 fait. Mais Jython ne devrait pas essayer d'exécuter le module codecs
de CPython 2.6. Dans ce cas, il échoue en raison de la syntaxe b""
pour les chaînes d'octets, ce qui est nouveau dans Python 2.6.
J'ai utilisé 'subprocess.Popen' pour appeler le script. L'exécution du script via cmd fonctionne correctement. Est-ce un problème d'incompatibilité de la version Python? J'utilise actuellement ActivePython 2.6.5.12. – BiX
Eh bien l'estimation de cette erreur est, le script appelé est exécuté par Jython au lieu de CPython. Quelle est la ligne de commande que vous utilisez? Inclut-il le chemin 'python.exe' ou comptez-vous sur les associations de fichiers Windows (mieux vaut ne pas le faire)? L'association pourrait-elle pointer vers Jython d'une manière ou d'une autre? (Cela n'expliquerait pas comment Jython importerait les bibliothèques de CPython, mais quand même.) – bobince
J'utilise l'invite de commande de Windows XP et j'ai 'C: \ Python26 \ python.exe' dans ma variable d'environnement. – BiX