C# 蟒蛇3中的蟒蛇脑
环境:C# 蟒蛇3中的蟒蛇脑,c#,importerror,python.net,C#,Importerror,Python.net,环境: Pythonnet版本:2.3.0,在Amaconda3中与pip一起安装 Python版本:3.6.6与Anaconda一起使用 Visual Studio 2017社区 操作系统:Windows 7,64位 我正在运行Pythonnet的Visbrain模块。 我在Anaconda3中创建了一个名为py36的虚拟环境。水蟒3号在D区。 试图在我的c#程序中运行以下代码 但它会弹出一个错误 Python.Runtime.PythonException: 'ModuleNotFoun
- Pythonnet版本:2.3.0,在Amaconda3中与pip一起安装
- Python版本:3.6.6与Anaconda一起使用
- Visual Studio 2017社区
- 操作系统:Windows 7,64位
Python.Runtime.PythonException: 'ModuleNotFoundError : No module named 'visbrain''
堆栈跟踪:
Python.Runtime.PythonException
HResult=0x80131500
Message=ModuleNotFoundError : No module named 'visbrain'
Source=Python.Runtime
StackTrace:
我在Lib\site软件包下安装了visbrain
尝试解决方案但未成功:
1) 在环境变量中添加路径、PYTHONHOME。
路径:D:\Anaconda3\envs\py36;
蟒蛇之家:D:\Anaconda3\envs\py36
(二)
添加了PYTHONPATH:D:\Anaconda3\envs\py36\Lib\site包
===
奇怪的是,“numpy”模块也在Lib\site包中
当我尝试下面的例子
dynamic np = Py.Import("numpy");
很好
想知道这里的问题是什么以及如何解决,谢谢。根据
它提到
“无法加载DLL pythonXX”:未安装或未安装CPython
已在%PATH%和%PYTHONHOME%环境变量中注册。
或者在初始化之前设置PythonEngine.PythonHome属性
Python运行时
您可以通过编码来设置PythonHome和Path,而不是手动设置PythonHome和Path
在PythonEngine.Initialize()之前代码>
只要记住设置路径和PYTHONHOME,就像示例一样
// Modify Path
string path = @"d:\Anaconda3\envs\py36;" + Environment.GetEnvironmentVariable("PATH", EnvironmentVariableTarget.Machine);
// Set Path
Environment.SetEnvironmentVariable("PATH", path, EnvironmentVariableTarget.Process);
// Set PythonHome
Environment.SetEnvironmentVariable("PYTHONHOME", @"d:\Anaconda3\envs\py36", EnvironmentVariableTarget.Process);
// Set PythonPath
// ONLY SET THIS IF YOU ARE SURE WHAT YOU ARE DOING
Environment.SetEnvironmentVariable("PYTHONPATH", @"d:\Anaconda3\envs\py36\Lib", EnvironmentVariableTarget.Process);
我对Miniconda也有类似的问题,显然Python.NET不能很好地与conda配合使用。请参阅:最好是重新安装python(不使用conda)
// Modify Path
string path = @"d:\Anaconda3\envs\py36;" + Environment.GetEnvironmentVariable("PATH", EnvironmentVariableTarget.Machine);
// Set Path
Environment.SetEnvironmentVariable("PATH", path, EnvironmentVariableTarget.Process);
// Set PythonHome
Environment.SetEnvironmentVariable("PYTHONHOME", @"d:\Anaconda3\envs\py36", EnvironmentVariableTarget.Process);
// Set PythonPath
// ONLY SET THIS IF YOU ARE SURE WHAT YOU ARE DOING
Environment.SetEnvironmentVariable("PYTHONPATH", @"d:\Anaconda3\envs\py36\Lib", EnvironmentVariableTarget.Process);