Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# IronPython:意外的标记';从';_C#_Python_.net_Tensorflow_Ironpython - Fatal编程技术网

C# IronPython:意外的标记';从';

C# IronPython:意外的标记';从';,c#,python,.net,tensorflow,ironpython,C#,Python,.net,Tensorflow,Ironpython,我使用IronPython从.net运行python脚本,下面是我的python脚本 import tensorflow as tf print('Tensorflow Imported') 下面是C代码 使用系统; 使用系统文本; 使用System.IO; 使用IronPython.Hosting; 使用System.Collections.Generic; 使用Microsoft.Scripting.Hosting; 命名空间控制台应用程序1 { 班级计划 { 私有静态void M

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

import tensorflow as tf    
print('Tensorflow Imported')
下面是C代码

使用系统;
使用系统文本;
使用System.IO;
使用IronPython.Hosting;
使用System.Collections.Generic;
使用Microsoft.Scripting.Hosting;
命名空间控制台应用程序1
{
班级计划
{
私有静态void Main()
{
var py=Python.CreateEngine();
列表搜索路径=新列表();
添加(@“C:\Users\Admin\AppData\Local\Programs\Python\Python35\Lib)”;
添加(@“C:\Users\Admin\AppData\Local\Programs\Python\Python35\Lib\site packages)”;
设置搜索路径(搜索路径);
尝试
{
py.ExecuteFile(“script.py”);
}
捕获(例外情况除外)
{
控制台写入线(例如消息);
}           
}
}
}
下面是我的输出

意外标记“来自”

若我删除了import语句,那个么python脚本执行得很好。我试着包括
os,sys
所有这些都是导入的,没有任何问题。我已经通过pip安装了TensorFlow,当我通过python控制台(v3.5)运行上述脚本时,它工作正常。

更新:在其书面版本“TensorFlow仅支持Windows上的Python版本3.5.x”。但IronPython的官方版本是2.7版 我很高兴找到IronPython,并尝试构建它(我只是在控制台中键入build,然后被它显示的大量错误消息吓坏了!:D 找不到预编译的二进制文件


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

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


一个用户成功访问GitHub(需要大量工作,而且不容易做到)这样,您可能可以在他们的工作基础上继续发展,但这并不是您为IronPython寻找的解决方案。我的最佳建议是使用3.5或3.6。

如果没有回溯,这是非常难以诊断的。显然tensorflow使用的语法是IronPython所不期望的。为什么您要混合使用来自CPython安装的tensorflow使用IronPython解释器?试试Cpythonnet。Tensorflow无法安装到IronPython中。@MartijnPieters,很抱歉没有及时回复。调用堆栈..非常大,很难理解它在说什么。@denfromufa,我是IronPython的新手。据我所知,我知道我们无法在IronPython中安装Tensorflow,所以我指出在
searchPath
中安装了库的目录。我的目标是在.net中运行python。还有其他方法吗?谢谢我只是导入
import os
但我还是遇到了同样的错误,my_py.py
import sys.path.append(“C:\ProgramData\Anaconda3\Lib”)导入os\import pandas print(os.getcwd())导入字符串打印(“Hi”)
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);
            }           
        }
    }
}