Pythonnet Встраивание Python в пример .net, не загружающий модульC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Pythonnet Встраивание Python в пример .net, не загружающий модуль

Сообщение Anonymous »

Я пытаюсь запустить пример внедрения Python в .NET с https://github.com/pythonnet/pythonnet. Я следовал статьям по устранению неполадок, чтобы установить правильные %PYTHONPATH% и %PYTHONHOME% для моей среды anaconda в базовом каталоге программы.

После активации моей среды 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();
}
}
Похоже, что любой пакет в пакетах сайта в моей среде аналогичным образом терпит неудачу. Добавление в %PATH% не сработало. Есть ли способ заставить Pythonnet распознавать и загружать эти модули?

Подробнее здесь: https://stackoverflow.com/questions/475 ... oad-module
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Асинмисаж, не загружающий изображение, ошибка с «невыполненным»
    Anonymous » » в форуме Android
    0 Ответы
    4 Просмотры
    Последнее сообщение Anonymous
  • Асинмисаж, не загружающий изображение, ошибка с «невыполненным»
    Anonymous » » в форуме Android
    0 Ответы
    4 Просмотры
    Последнее сообщение Anonymous
  • Невозможно загрузить .NET DLL в macOS с помощью Python.NET (pythonnet)
    Anonymous » » в форуме Python
    0 Ответы
    27 Просмотры
    Последнее сообщение Anonymous
  • IS .NET CORE или .NET 5.0 поддерживается PythonNet
    Anonymous » » в форуме C#
    0 Ответы
    2 Просмотры
    Последнее сообщение Anonymous
  • IS .NET CORE или .NET 5.0 поддерживается PythonNet
    Anonymous » » в форуме Python
    0 Ответы
    2 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»