После активации моей среды anaconda у меня есть успешно импортировал sys и imp в качестве теста, а также успешно использовал PythonEngine.RunSimpleString(), но пример numpy завершается с ошибкой Python.Runtime.PythonException: ImportError: Нет модуля с именем 'numpy'
Импорт numpy из Python в этой среде прошел успешно, но этот и другие пакеты не удалось импортировать в Pythonnet.
Версия Pythonnet : 2.3 x64 (устанавливается с помощью conda install -c pythonnet pythonnet)
Версия Python: Python 3.5 x64 (anaconda)
Операционная система: Windows 10
Следующий код вызывает ошибку:
Код: Выделить всё
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 { 1, 2, 3 });
Console.WriteLine(a.dtype);
dynamic b = np.array(new List { 6, 5, 4 }, dtype: np.int32);
Console.WriteLine(b.dtype);
Console.WriteLine(a * b);
Console.ReadKey();
}
}
Подробнее здесь: https://stackoverflow.com/questions/475 ... oad-module