IronPython:意外令牌 'from'

IronPython: Unexpected token 'from'

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

import tensorflow as tf    
print('Tensorflow Imported')

下面是 C# 代码

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);
            }           
        }
    }
}

下面是我的输出

Unexpected token 'from'

如果我删除 import 语句,那么 python 脚本可以正常执行。我尝试包括 os,sys 所有这些都没有任何问题地导入。我已经通过 pip 安装了 TensorFlow,当我通过 python 控制台 (v3.5) 运行 上面的脚本时,它工作正常。

更新:在 TF doc 中写着“TensorFlow 仅支持版本 3.5.x of Python on Windows”。但 IronPython 的官方版本是 2.7 版 我很高兴在 GitHub, tried building it (i just typed build in console and got freaked out with the long list 显示的错误消息中找到 IronPython! :D 找不到预编译的二进制文件

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

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

中不会 运行

GitHub 上的一个用户以 got TF running on Windows under Python2.7 的方式(需要大量工作并且不容易做到)成功,并且您可以在他们的工作的基础上再接再厉,但是这并不是您为 IronPython 寻找的解决方案。我最好的建议是使用 3.5 或 3.6。