2009-08-25 65 views
0

J'utilise le studio IronPython pour créer des scripts IronPython et les convertir en exécutables. Lorsqu'il est converti en exécutables, il crée un exe principal et deux dll (IronMath.dll et IronPython.dll). Est-il possible de créer les exécutables sans studio IronPython. J'ai essayé PYC téléchargé de codeplex.com. Il crée un exe et une DLL avec le même nom que celui de l'exe (disons main.exe et main.dll). Mais j'ai besoin d'un exe et de deux dll (similaires à ce qui est créé par le studio IronPython). Alors que je peux utiliser d'autres exes IronPython sans dll séparés (ces 2 dll suffiraient pour tout exe FePy).Génération de EXE à partir du script IronPython

Répondre

2

J'ai créé une application C# qui utilise IronPython.dll et IronMath.dll pour convertir les scripts IronPython en exécutables. Cela ne nécessite pas la présence du studio IronPython. Seules les DLL sont suffisantes. Le comportement d'exe est le même que celui créé par IronPython studio (intégré avec VS2008)

1

Je ne comprends peut-être pas bien la question mais en copiant IronMath.dll et IronPython.dll dans le dossier avec main.exe et main.dll devrait fonctionner pour Ironpython 1.x. Ces fichiers .dll sont différents pour IronPython 2.x.

Éditer: Eh bien, j'ai essayé PYC avec IP 1.1 et cela ne fonctionne pas. Cela signifie que vous devez l'utiliser avec au moins IP 2.0.2 (il se trouve dans le dossier Samples \ pyc). Pour le script simple 'print' bonjour 'vous devez expédier (avec hello.dll et hello.exe).

  • IronPython.dll
  • Microsoft.Scripting.Core.dll
  • Microsoft.Scripting.dll
  • Microsoft.Scripting.ExtensionAttribute.dll

pour le script plus compliqué vous allez probablement besoin de IronPython.Modules.dll aussi bien.

+0

La génération d'exécutables en utilisant PYC et en utilisant IronMath.dll et IronPython.dll avec eux ne fonctionne pas. J'ai essayé ça. – Prabhu

+0

J'ai ajouté de nouveaux résultats. –

0

Une DLL est une bibliothèque liée dynamiquement. C'est nécessaire pour que votre application fonctionne correctement. Toutes les applications écrites en .NET les utilisent. Vous ne le savez tout simplement pas, car le support est intégré au framework .NET, que la plupart des utilisateurs ont installé sur leurs systèmes. Yay, chemin à parcourir Microsoft. Le DLR (Dynamic Language Runtime) n'est cependant pas intégré dans n'importe quel destributable .NET (cela changera dans .NET 4.0). C'est pourquoi vous obtenez le fichier dll.

Vous écrivez un logiciel qui utilise des bibliothèques .NET? Si ce n'est pas le cas, écrivez-le simplement dans un bon cypython (comme vous êtes censé le faire). Ensuite, vous devriez regarder dans un programme appelé py2exe. Avez-vous déjà utilisé uTorrent? Je suppose que vous avez. C'est construire en utilisant strait up cpython + py2exe.

Profitez-en. :)

+0

Essayé en utilisant py2exe. Même cela génère un dossier «dist» qui doit être redistribué à droite? Est-il possible d'obtenir seulement un seul EXE du script python. – Prabhu

+1

py2exe compilera à un seul exe, si elle est utilisée correctement. –

+0

Kenneth: Ajoutez une réponse expliquant comment faire cela complètement. – jmucchiello