2014-05-20 8 views
0

Je dispose de plusieurs versions de Python installées (2.7 et 3.4) Je veux lancer un .pyc avec la version spécifiée de Pythonfichiers compilés python d'appel en Python 3

#! C:\python34\python 
import sys 
print("Hello",sys.version.split()[0]) 
input() 

Ce sheebang fonctionne très bien sur Windows parce que je l'utilise pylauncher Je peux compiler comme ça

c:\python34\python -m compileall print.py -b 

Mais le sheebang n'est pas reconnu quand j'exécute le fichier pyc.

Cela fonctionne, mais je ne voudrais pas répéter le C:\python34\python Parce que le script actuel sera déjà exécuté sous la version Python que j'ai demandé dans le shebang. Par conséquent, je voudrais faire démarrer le sous-programme avec la même version du Python.

Jusqu'à présent, j'ai essayé:

#! C:\python34\python 
import os 
os.system("C:\python34\python print.pyc") 

Ce serait parfait, mais ne pas comme les fichiers pyc. Et ce qui suit ne fonctionne pas non plus:

exec(open('print.pyc').read()) 

Est-ce que quelqu'un sait comment appeler les fichiers pyc dans le code?

+1

avez-vous essayé: ** os.system ("C: \\ python34 \\ python print.pyc") **? – Mansueli

+0

Non car ce que je veux, c'est ne pas répéter C: \ python34 \ python puisque mon shebang fonctionne bien. Je veux dire: Exécutez ce fichier pyc dans la même version de python déjà en cours d'exécution. – Baghera

+1

Pouvez-vous formuler votre question mieux? Vous avez dit: ** os.system ("C: \ python34 \ python print.pyc") ** serait bien, mais pas * comme pyc. * Alors qu'il n'a clairement pas les barres obliques inverses (\\ de \) dans la chaîne. – Mansueli

Répondre

1
#! C:\python34\python 
import print # imports print.pyc 


#now you can use the pyc as a module. 
DoSomething() 
+0

Oui, c'est parfait: – Baghera

+0

@Baghera, si cette réponse est ce que vous cherchez, s'il vous plaît acceptez-le. – Mansueli

+0

Oui, c'est parfait:
#! C: \ python34 \ python importation impression Il s'agit du fichier run.py.
Il démarre l'application print.pyc avec la version de Python que je veux, car j'ai compilé cette application avec.
Merci – Baghera