pythonnet Incrustar Python en el ejemplo .net no puede cargar el módulo
Estoy tratando de ejecutar el ejemplo de incrustación de Python en .NET desdehttps://github.com/pythonnet/pythonnet. He seguido los artículos de solución de problemas para establecer el% PYTHONPATH% y% PYTHONHOME% adecuados para mi entorno anaconda en el directorio base del programa.
Después de activar mi entorno anaconda, importé con éxito sys e imp como prueba, y también utilicé con éxito PythonEngine.RunSimpleString (), pero el ejemplo numpy falla conPython.Runtime.PythonException: ImportError: Ningún módulo llamado 'numpy'
importar numpy desde python en este entorno fue exitoso, pero este y otros paquetes no se importan en pythonnet.
Versión de Pythonnet: 2.3 x64 (instalada usandoconda install -c pythonnet pythonnet)
Versión de Python: Python 3.5 x64 (anaconda)
Sistema operativo: Windows 10
El siguiente código produce el error:
static void Main(string[] args)
{
string envPythonHome = AppDomain.CurrentDomain.BaseDirectory + "cntk-py35";
string envPythonLib = envPythonHome + @"\Lib";
Environment.SetEnvironmentVariable("PYTHONHOME", envPythonHome, EnvironmentVariableTarget.Process);
Environment.SetEnvironmentVariable("PATH", envPythonHome + ";" + Environment.GetEnvironmentVariable("PATH", EnvironmentVariableTarget.Machine), EnvironmentVariableTarget.Process);
Environment.SetEnvironmentVariable("PYTHONPATH", envPythonLib, EnvironmentVariableTarget.Process);
PythonEngine.PythonHome = envPythonHome;
PythonEngine.PythonPath = Environment.GetEnvironmentVariable("PYTHONPATH");
using (Py.GIL())
{
dynamic np = Py.Import("numpy");
Console.WriteLine(np.cos(np.pi * 2));
dynamic sin = np.sin;
Console.WriteLine(sin(5));
double c = np.cos(5) + sin(5);
Console.WriteLine(c);
dynamic a = np.array(new List<float> { 1, 2, 3 });
Console.WriteLine(a.dtype);
dynamic b = np.array(new List<float> { 6, 5, 4 }, dtype: np.int32);
Console.WriteLine(b.dtype);
Console.WriteLine(a * b);
Console.ReadKey();
}
}
Parece que cualquier paquete bajo paquetes de sitio en mi entorno falla de manera similar. Agregar a% PATH% no funcionó. ¿Hay alguna manera de hacer que pythonnet reconozca y cargue estos módulos?