我使用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?
答案 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。