Python для .NET: ImportError: Нет модуля с именем warnings

Я пытаюсь встроить python 2.6 в .NET 4.0.

Следуя очень минимальной документации в «Python для .NET», я написал довольно простой код следующего содержания:

 const string pythonModulePath = @"C:\Projects\PythonImport\PythonImport\test.py";
 Environment.SetEnvironmentVariable("PYTHONHOME", Path.GetDirectoryName(python
 ModulePath));

 PythonEngine.Initialize();

 var oldWorkingDirectory = Directory.GetCurrentDirectory();
 var currWorkingDirectory = Path.GetDirectoryName(pythonModulePath);

 Directory.SetCurrentDirectory(currWorkingDirectory);

 var pyPlugin = PythonEngine.ImportModule(Path.GetFileNameWithoutExtension(python
 ModulePath));
 if (pyPlugin == null)
 {
      throw new PythonException();
 }

 Directory.SetCurrentDirectory(oldWorkingDirectory);

Даже если test.py пуст, я получаю сообщение об ошибке импорта: «Нет модуля с именем warnings».

'import site' failed; use -v for traceback

 Unhandled Exception: Python.Runtime.PythonException: ImportError : No module nam
 ed warnings

Причина становится очевидной, когда вы запускаете test.py с помощью «python -v» (подробный режим). Обратите внимание, что python вызывает #cleanup [2] предупреждения.

Почему Python .NET не может разрешать предупреждения? Модуль находится в каталоге Lib.

Есть идеи?

8
задан denfromufa 28 January 2015 в 17:29
поделиться