Как импортировать «numpy» в Windows Installer (NSIS)? - PullRequest
0 голосов
/ 08 июня 2018

Я обновил этот вопрос, предложив решение, которое можно реализовать.

Текущий вопрос: Прямо сейчас созданный мной установщик NSIS зависает во время работы проекта.Итак, есть идеи, как я могу улучшить производительность?

Предыдущий вопрос, который теперь для меня решен: Я пытаюсь создать установщик Windows, который установит мое приложение на python и его зависимости.Я использовал такие зависимости, как: numpy, pillow и openCV.И я использую Pynsist для создания установщика Windows.После завершения процесса я установил свое приложение на другие компьютеры, на которых не установлен python.Когда я запустил файл запуска .pyw, у меня возникло исключение, в котором говорится «не удалось импортировать numpy.core.multiarray».Это та же ошибка, которая возникает, когда пытаются установить зависимость opencv, а numpy отсутствует в системе.Затем я установил anaconda python в систему, и приложение успешно запустилось, и это означает, что причиной является отсутствие numpy.Так может кто-нибудь подсказать мне, как я могу заставить установщика установить Python Anaconda вместо простого Python, чтобы я мог решить эту проблему?

Ниже приведен мой файл installer.cfg.(это обновленный файл installer.cfg)

[Application]
name=FaceLock
version=1.0
# How to launch the app - this calls the 'main' function from the 'myapp' package:
entry_point=openApplication:self


[Python]
version=2.7.14



[Include]
# Packages from PyPI that your application requires, one per line
# These must have wheels on PyPI:
pypi_wheels=opencv-contrib-python==3.4.1.15
            numpy==1.14.0
            anaconda-project==0.8.2



# To bundle packages which don't publish wheels, see the docs on the
# config file.
packages=cv2
        PIL
        Tkinter
        glob



# Other files and folders that should be installed
files=detector.py
        dataSetGenerator.py
        trainData.py
        storeDictionary.py
        CheckFace.py
        CheckFace.py
        Classifiers/
        trainer/
        Trying/

Я использую python 2.7.14, numpy_1.14.0 и opencv_3.4.1. Появляется сообщение об ошибке: «ImportError: numpy.core.multiarray не удалось импортировать" (добавление anaconda-project решило для меня ошибку)

Пожалуйста, дайте мне знать, если требуется какая-либо другая информация.

ОБНОВЛЕНИЕ: Iсделал некоторые настройки с файлом installer.cfg.Я обнаружил, что если мы также импортируем колесо anaconda-project, а также numpy (конкретная версия), установщик будет работать нормально.

Для путаницы в отношении того, как питон узнает, где искать numpy, NSIS добавляет переменную среды всякий раз, когда мы щелкаем файл установщика.Папка pkgs создается установщиком, и эта папка pkgs содержит все зависимости, необходимые для запуска нашего проекта python.Так вот, как Python знает, где находится этот кусочек.

У меня все отлично работает за исключением того, что проект python зависает и, следовательно, стал менее отзывчивым с этим установщиком.Любая идея, как я могу улучшить производительность?

Спасибо и привет, Акшит Бхатия

...