Среда
Я пытаюсь заставить python.net работать и запускать пример сценария на своем веб-сайте, но он дает сбой при импорте numpy (работает с другими элементами). Вот код:
static void Main(string[] args)
{
using (Py.GIL())
{
dynamic np = Py.Import("numpy");
Console.WriteLine(np.cos(np.pi * 2));
<snip>
Он вылетает при импорте numpy со следующей ошибкой:
Python.Runtime.PythonException: 'ImportError : Importing the multiarray numpy extension module failed. Most likely you are trying to import a failed build of numpy. If you're working with a numpy git repo, try
git clean -xdf(removes all files not under version control). Otherwise reinstall numpy.
Я просмотрел справочные страницы и, в частности, выполнил инструкции по этим ссылкам:
Обратите внимание, что:
PATH, PYTHONPATH и PYTHONHOME, а также вручную установить переменные PythonEngine.PythonHome и PythonEngine.PythonPath, чтобы заставить его работать.Взгляните на эту проблему: github.com/pythonnet/pythonnet/issues/490
Хорошо, спасибо @denfromufa. Как только я удалил изменения, внесенные в переменные PATH, PYTHONPATH и PYTHONHOME, проблема исчезла сама собой. В приведенных выше ссылках на проблемы pythonnet (463, 259 и 645) предлагается изменить переменные среды. Фактически, вам нужно изменить переменные PythonEngine.PythonHome и PythonEngine.PythonPath, а НЕ переменные среды.
Всем, кто читает это, позвольте мне отметить, что в конечном итоге я использовал ProcExp, чтобы узнать все места, которых касался обычный питон, и поэтому мне нужно было добавить следующие три местоположения в `PythonEngine.PythonPath: c: \ conda_env \ lib c : \ conda_env \ lib \ site-packages и c: \ conda_env \ dlls






Не устанавливайте pythonpath, если вы не знаете, что делаете