IronPython:来自'

时间:2017-03-28 11:45:38

标签: c# python .net tensorflow ironpython

我使用IronPython从.net运行python脚本,下面是我的python脚本

import tensorflow as tf    
print('Tensorflow Imported')

下面是C#Code

using System;
using System.Text;
using System.IO;
using IronPython.Hosting;
using System.Collections.Generic;
using Microsoft.Scripting.Hosting;

namespace ConsoleApplication1
{
    class Program
    {
        private static void Main()
        {
            var py = Python.CreateEngine();
            List<string> searchPaths = new List<string>();
            searchPaths.Add(@"C:\Users\Admin\AppData\Local\Programs\Python\Python35\Lib)");
            searchPaths.Add(@"C:\Users\Admin\AppData\Local\Programs\Python\Python35\Lib\site-packages)");
            py.SetSearchPaths(searchPaths);
            try
            {
                py.ExecuteFile("script.py");
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }           
        }
    }
}
下面的

是我的输出

  

来自&#39;

的意外标记

如果我删除import语句,那么python脚本执行正常。我尝试了包括os,sys所有导入的内容,没有任何问题。我已经通过pip安装了TensorFlow,当我通过python console(v3.5)在脚本上运行时,它运行正常。

更新:在TF doc中写入&#34; TensorFlow仅支持Windows上的3.5.x版本的Python &#34;。但IronPython的官方发布版本是2.7 我很高兴在GitHub上找到了IronPython,尝试构建它(我只是在控制台中输入内置版本,并且显示出它显示的long list错误消息!:D 无法找到预编译的二进制文件

有没有其他方法可以在IronPython 2.7中导入tensorflow或在.net中运行Python?

1 个答案:

答案 0 :(得分:1)

Prakash - 正如您在文档中发现的那样,TensorFlow在Windows上运行时需要Python 3.5或3.6。它不会在IronPython 2.7中运行。

GitHub上的一个用户成功(通过大量工作和不易操作)的方式got TF running on Windows under Python2.7,您可能能够以他们的工作为基础,但它不是正是您为IronPython寻找的解决方案。我最好的建议是使用3.5或3.6。