Severin wrote:
Hello,

I'm digging out this thread again.

I'm trying to run python scripts from C# using the DLR.

Simple examples work, namely if I have just one function in one python file.

How does it work when one python file imports from another python file? I get "No module named x" ImportExceptions when trying to compile these python files.

If you're running them from '.py' source files then you aren't compiling them - you're just executing them from an embedded environment.

The import machinery should work exactly the same as for CPython, but you may need to setup the initial sys.path depending on how you are executing the scripts.

You probably need to use the engine.SetSearchPaths method passing in an array with the path to the directory containing the top level Python file (adding any other directories that you need to be able to import from).

HTH

Michael


I compile the main-file with 'CreateScriptSourceFromFile'.


May be I am using the wrong approach in general. What I have is a bunch of python files that I used with CPython directly so far. Now I want to extend my program with C# (since database handling is much more convenient there) and I want to use the python files that I already have.

What is the best approach for this scenario?

Thanks for any kind of hint.

Severin

On Tue, Jan 20, 2009 at 5:37 PM, Michael Foord <[email protected] <mailto:[email protected]>> wrote:

    Renaud Durand wrote:

        Ok, Thank you.

        Does anyone know where could I find an IronPython Assembly
        documentation and/or up to date tutorials ?


    These tutorials are up to date - except for the one specified as
    being for IP1:

    http://www.voidspace.org.uk/ironpython/embedding.shtml

    Michael


        Thank you again.

        2009/1/20 Curt Hagenlocher <[email protected]
        <mailto:[email protected]> <mailto:[email protected]
        <mailto:[email protected]>>>


           I believe this was valid for a long-ago alpha.  For the 2.0
           release, you'll want to create an engine by saying
           engine = Python.CreateEngine()

           On Tue, Jan 20, 2009 at 7:32 AM, Renaud Durand
        <renaud.durand.it <http://renaud.durand.it>
           <http://renaud.durand.it>@gmail.com <http://gmail.com>
        <http://gmail.com>> wrote:

               Hi,

               I want to use IronPython function through C#. To do It, I
               found a tutorial at
               http://www.ironpython.info/index.php/Hosting_IronPython_2.
               But the code does not seem to be updated for IronPython
        2.0.

               the code is :

               using System;
               using IronPython.Hosting;
               using IronPython.Runtime;
               using Microsoft.Scripting;
               using Microsoft.Scripting.Hosting;

               namespace EmbeddedCalculator
               {
                   public class Engine
                   {
                       private ScriptEngine engine;

                       public Engine()
                       {
                           engine = PythonEngine.CurrentEngine;
                       }

                       public string calculate(string input)
                       {
                           try
                           {
                               ScriptSource source =
               engine.CreateScriptSourceFromString(input, "py");
                               return source.Execute().ToString();
                           }
                           catch
                           {
                               return "Error";
                           }
                       }

                   }
               }
               // End of code

               When I try to compile it in visual studio, the compiler
        could
               not find the name "PythonEngine". I have added all the
               references to
               the needed libraries. So, what am I missing ?


               Thank you :-).

               --        Renaud Durand

               _______________________________________________
               Users mailing list
               [email protected]
        <mailto:[email protected]>
        <mailto:[email protected]
        <mailto:[email protected]>>

http://lists.ironpython.com/listinfo.cgi/users-ironpython.com



           _______________________________________________
           Users mailing list
           [email protected]
        <mailto:[email protected]>
        <mailto:[email protected]
        <mailto:[email protected]>>

           http://lists.ironpython.com/listinfo.cgi/users-ironpython.com




-- Renaud Durand
        ------------------------------------------------------------------------



        _______________________________________________
        Users mailing list
        [email protected] <mailto:[email protected]>
        http://lists.ironpython.com/listinfo.cgi/users-ironpython.com


-- http://www.ironpythoninaction.com/
    http://www.voidspace.org.uk/blog



    _______________________________________________
    Users mailing list
    [email protected] <mailto:[email protected]>
    http://lists.ironpython.com/listinfo.cgi/users-ironpython.com


------------------------------------------------------------------------

_______________________________________________
Users mailing list
[email protected]
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com

_______________________________________________
Users mailing list
[email protected]
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com

Reply via email to