Comment puis-je compiler un IronPython application dans un fichier EXE sans Visual Studio (et éventuellement avec py2exe)?
J'ai donc essayé de chercher cette réponse avant de venir droit ici pour poser des questions. Il semble faisable de faire tourner un IronPython app/jeu de scripts dans un fichier EXE. Le seul problème, c'est qu'ils semblent tous à parler à l'aide de IronPython avec IronPython Studios, un Python plugin pour Visual Studio. Dernière, j'ai vérifié, j'ai pensé que IronPython Studios a été essentiellement remplacé par du Python Tools pour Visual Studio (ou PTVS) plugin outil. Le problème étant que, en raison de la façon dont mon code est structuré, il a en fait réussi à planter le plugin, et, par conséquent, Visual Studios, une fois le chargement de mon code dans l'IDE. Il en sera ainsi jusqu'à la prochaine mise à jour à venir à la fin du mois ou début du mois prochain. Donc, cela ne va pas être une option que j'ai eu à développer mon projet dans Eclipse lieu avec les PyDev plugin.
J'ai utilisé py2exe pour convertir une base de Python applications dans des exécutables avant, mais c'était quand j'étais à l'aide de la Disponible interprète. Je ne sais pas comment je pourrais définir py2exe pour travailler avec IronPython. Serait-il possible d'utiliser py2exe pour faire un IronPython de l'exécutable? Et si mon programme utilise des assemblages à faire son travail, comment pourrais-je mettre de trop donc py2exe pouvez les utiliser et de mon exécutable peut les voir pour le référencement?
OriginalL'auteur grg-n-sox | 2011-11-18
Vous devez vous connecter pour publier un commentaire.
Pyc.py est le chemin à parcourir en Python Tools pour Visual Studio ne prend pas en charge directe de la compilation. SharpDevelop est personnalisé construire des actions pour Ironpython. J'ai utilisé #Développer jusqu'à PTVS est sorti.
Le voir, cette question IronPython: EXE compilé à l'aide de pyc.py impossible d'importer le module "os" pour certaines étapes détaillées à suivre pour faire votre EXE. N'oubliez pas de compiler la lib standard les modules que vous utilisez. Si vous devez faire vos utilisateurs de télécharger et d'installer IronPython, alors vous n'avez pas besoin de compiler votre script.
OriginalL'auteur WombatPM
IronPython est livré avec un compilateur en ligne de commande pyc.py (dans le menu Outils\dossier des Scripts que vous pouvez utiliser. Une autre alternative est d'utiliser SharpDevelop pour compiler votre code de IronPython à un exécutable.
Votre compilé IronPython application peut utiliser le C# assemblées si ils sont dans le GAC ou si elles sont déployées le long de votre exécutable dans le même dossier.
OriginalL'auteur Matt Ward
- Je utiliser IronPyton 2.7.8 et ipyc.exe plutôt que de Tools\Scripts\pyc.py et il présente quelques différences, donc je pars quelques informations ici.
1. utilisation /embed et /option autonome
Si vous divisez votre script dans plus d'un py fichiers, puis utilisez /embed option /option principale, ils vont générer un seul fichier exe, y compris tous py fichiers de script.
Par exemple, vous avez "MyMain.py de script" et "OtherFuncs.py" alors comme suit.
C:\Program Files\IronPython 2.7\ipyc.exe /main:MyMain.py OtherFuncs.py /embed /plate-forme:x86 /autonome /cible:winexe
/autonome option est utilisée pour de base y compris les fichiers dll pour IronPython en vertu de la C:\Program Files\IronPython 2.7\ dossier comme IronPython.dll, IronPython.Modules.dll, Microsoft.Dynamic.dll et Microsoft.Scripting.dll
Mais attention que DLLs/IronPyton.SQLite.dll et DLLs/IronPtyhon.WPF.dll ne sont pas inclus, donc si vous utilisez WPF ou SQLite fonctionnalité dans votre script, vous devez copier et distribuer ces fichiers dll de plus avec votre fichier exe, et vous devez ajouter la ligne suivante dans votre script
2. les bibliothèques de fichiers de script en vertu de la C:\Program Files\IronPython 2.7\Lib dossier
votre script utiliser de nombreuses fonctions standard pris en charge par la bibliothèque de fichiers de script en vertu de la C:\Program Files\IronPython 2.7\Lib du dossier, de sorte que vous devrait distribuer ces fichiers de script avec votre exe.
il y a deux options, l'une est simplement de copier le dossier Lib dans le dossier d'avoir votre fichier exe, et une autre est de faire une StdLib.dll ayant tous la bibliothèque standard des fichiers de script la commande suivante.
C:\Program Files\IronPython 2.7\ipyc.exe /main:StdLib.py io.py sys.py ...tout le nécessaire de fichiers de script... /embed /plate-forme:x86 /cible:dll
StdLib.py est tout simplement vide de fichier avec 0 de taille, c'est un hack pour générer un seul fichier dll. et vous devez ajouter les lignes suivantes à la première ligne de votre script.
J'utilise un script python faisant StdLib.dll quelque chose comme ce qui suit.
OriginalL'auteur Jun