C# IronPython:意外的标记';从';
我使用IronPython从.net运行python脚本,下面是我的python脚本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
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.pyimport 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);
}
}
}
}