python for net_pythonfor.Net:运行嵌入式interp

我使用以下简单的测试程序:using System;

using System.IO;

using Python.Runtime;

namespace TestPythonNet

{

class Program

{

static void Main(string[] args)

{

string binDir = Path.GetDirectoryName(System.Reflection.Assembly.GetAssembly(typeof(Program)).Location);

string pyHome = @"D:\src\scratch\TestPythonNet\TestPythonNet\PythonRuntime";

PythonEngine.PythonHome = @"D:\src\scratch\TestPythonNet\TestPythonNet\PythonRuntime";

PythonEngine.ProgramName = "PythonRuntime";

Environment.SetEnvironmentVariable("PYTHONPATH",

Path.GetFullPath(Path.Combine(pyHome, "DLLs")) + ";" +

Path.GetFullPath(Path.Combine(pyHome, "Lib")) + ";" +

Path.GetFullPath(Path.Combine(pyHome, "Lib", "site-packages")) + ";" +

binDir

);

Environment.SetEnvironmentVariable("PYTHONVERBOSE", "1");

PythonEngine.Initialize();

PythonEngine.ImportModule("clr");

using (Py.GIL())

{

PythonEngine.RunSimpleString(

"import clr; " +

"a = clr.AddReference('System'); " +

"print(a.Location);" +

"from System import Environment;" +

"print(Environment.MachineName);");

}

}

}

}

“D:\src\scratch\TestPythonNet\TestPythonNet\PythonRuntime”是我从python3.2x86发行版复制DLLs和Lib文件夹的文件夹。在

当我从visualstudio运行它时,它运行得很好(我想这可能与我正在使用python工具for visualstudio有关)。在

但是当我从控制台运行它时,它失败了,输出是:

^{pr2}$

“print(a.Location);”工作,但“from System import Environment”不起作用。关于mbcs也有所有这些错误。在

你知道我做错了什么吗?在

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值