Я собираюсь сделать приложение, которое может быть:
- запуск из контекстного меню в Windows (список, который появляется после щелчка правой кнопкой мыши на файле)
- запустить скрипт на python в указанной транзакции и передаст ей этот файл в качестве аргумента
Хорошо работает, когда нужно прочитать данные из файла, но проблема возникает, когда требуются некоторые библиотеки, такие как numpy или matplotlib.
В общем, ключ в regedit выглядит так:
"D:\lab\cpp\hook\hook\Release\hook.exe"%1
hook.exe запускается и содержит примерно такие:
string command = "D:/lab/py/hook/main.py ";
command += argv[1];
system(command);
командная строка, конечно, преобразуется в символ *, я пропустил эту часть
В скрипте Python я импортирую sys lib, что позволяет мне взять sys.argv [1] - путь к файлу abs.
Если я тестирую скрипт в IDE Spyder 3.7, все работает, но когда я пытаюсь запустить файл с импортированным numpy , я вижу:
ImportError: DLL load failed
ImportError: Importing the multiarray numpy extension module failed. Most likely you are trying to import a failed build of numpy.
Я установил каждую библиотеку из командной строки anaconda в каталог по умолчанию. Я подозреваю, что это проблема с некоторыми переменными окружения, но я не знаю, как это исправить.