2010-06-30 11 views
2

Je peux utiliser ironpython 2.6 (pas pour .net 4) charger numpy, en exécutant ipy avec -X: Frames ou -X: FullFrames sur la ligne de commande. Mais, si je veux utiliser Ironpython/DLR en C# 2.0 pour charger le fichier py, comment puis-je utiliser -X: Frames ou -X: FullFrames?Comment puis-je utiliser -X: Frames en C# 2.0 pour charger ironpython?

Je l'ai essayé comme ceci:

 var lang = Python.CreateLanguageSetup(null); 
     lang.Options["Frames"] = ScriptingRuntimeHelpers.True; 
     var setup = new ScriptRuntimeSetup(); 
     setup.LanguageSetups.Add(lang); 
     var runtime = new ScriptRuntime(setup); 
     var engine = runtime.GetEngine("py"); 

     engine.ExecuteFile("test.py"); 

Mais, ça n'a pas marché! Alors, est-ce que quelqu'un peut me donner un coup de main?

Répondre

1

Je ne pense pas travailler cadres ou ne fonctionne pas est votre problème. Si je prends votre code et mettre:

import sys 
sys._getframe() 

en test.py il fonctionne si j'ai les 'lang.Options [ "Cadres"] = ScriptingRuntimeHelpers.True;' ligne et échoue si je ne le fais pas. Cela indique que l'option fonctionne bien.

Alors, quelle est l'erreur que vous obtenez? Il se peut que vous deviez définir quelque chose que la ligne de commande fait normalement - comme sys.path qui a peut-être besoin du répertoire courant et/ou ".". Ou peut-être que site.py doit être importé. Ou peut-être que IronClad est installé dans le répertoire des DLL et automatiquement chargé, vous devez donc exécuter runtime.LoadAssembly (...) sur sa DLL.

+0

J'ai troqué sys._getframe() et c'est OK, et en cours d'exécution console ipy avec -X: Frames est également ok. Chargez seulement py par ironpython dans C# 2.0. J'ai téléchargé mon code (solution Visual Studio 2010, mais .net 2.0 projet): http: //1oz7ga.blu.livefilestore.com/y1pbhO4fRA4M7KUlnk0Oi19-dTmSUhRdj2rQ6tguLebK829d9WykIUoc3vQEvuhlkhFU6xIT_cCOXjGB9TOMo064a-Qzcb4gbea/ex_vs10_cs%20load%20ipy%20ironclad.rar télécharger & psid = 1 – Begtostudy

+0

Vous devrait changer "* .rar_" en "* .rar" du nom de fichier. – Begtostudy

0

Votre question ressemble à celui-ci: Can't import numpy into embedded ironpython engine

Mais, peut-être vous devriez donner plus d'informations sur ce que les erreurs que vous avez obtenu ...

+0

Mais sa question ne semble pas être résolue ... – Begtostudy

+0

Avez-vous essayé de vérifier vos chemins, comme suggéré dans le lien? – digEmAll

+0

Je cours "test.py" avec "ipy.exe -X: Frames". C'est bon, pas de problèmes. Donc, je pense que c'est le problème d'installation Frames. – Begtostudy