L'histoire a commencé avec une erreur très étrange pendant que je courais mon script de PyDev. Exécuter le même script depuis l'extérieur ne rencontrera pas le même problème.Comment utiliser correctement PyDev avec deux versions différentes de Python avec des scripts qui rappellent d'autres scripts python?
Fatal Python error: Py_Initialize: can't initialize sys standard streams File "C:\Python26\lib\encodings\__init__.py", line 123 raise CodecRegistryError,\ ^ SyntaxError: invalid syntax This application has requested the Runtime to terminate it in an unusual way. Please contact the application's support team for more information.
j'ai pu trouver pourquoi cela se passe: En PyDev j'utilise deux versions de Python différentes: 3.1 qui est l'installation par défaut et 2.6 comme une alternative. Mon environnement Windows ne contient pas PYTHONHOME
, CLASSPATH
, PYTHONPATH
mais PyDev les ajoute. Maintenant le problème est à un moment mon script python exécute un autre script python en utilisant os.system (python second.py
) et le second script échouera avec l'erreur ci-dessus.
Maintenant, je cherche un moyen d'éviter ce problème, problème qui se produit car il va exécuter le python par défaut en utilisant les paramètres de celui par défaut (ajouté par PyDev).
Je ne veux pas changer l'appel standard (python file.py
) mais je veux pouvoir exécuter mon script de pydev sans problème et pouvoir utiliser l'environnement python par défaut ou alternatif.
Des idées?
D'abord, appeler Python avec le chemin d'accès complet est inacceptable. Deuxièmement, le second script ne nécessite pas de version python spécifique, mais comme il exécute l'interpréteur pyhton par défaut avec un autre paramétrage ENV python, il échouera (python échouera). J'ai déjà trouvé une solution, pour appeler toujours ce script python avec -E, ce qui signifie qu'il va ignorer PYTHONPATH. – sorin