我已经使用可以实施的解决方案更新了这个问题。
当前问题: 现在,我创建的NSIS安装程序在运行项目时冻结。所以任何想法如何才能提高性能?
以前的问题现在为我解决了: 我正在尝试创建一个Windows安装程序,它将安装我的python应用程序及其依赖项。我使用了像numpy,pillow和openCV这样的依赖项。我正在使用Pynsist来创建Windows安装程序。 完成这个过程后,我将我的应用程序安装到没有安装python的其他计算机上。当我启动.pyw启动文件时,我得到一个异常,说"无法导入numpy.core.multiarray"。这是尝试安装opencv依赖项并且系统中没有numpy时出现的相同错误。 然后我将anaconda python安装到系统中并且应用程序成功运行,因此暗示缺少numpy是原因。 所以任何人都可以建议我如何使安装程序安装anaconda python而不是简单的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 即将发生的错误是#34; ImportError:numpy.core.multiarray无法导入" (添加anaconda-project为我解决了错误)
如果需要任何其他信息,请告诉我。
更新:我使用installer.cfg文件进行了一些调整。我发现如果我们也导入anaconda项目的轮子和numpy(特定版本),安装程序将工作得很好。
对于混淆,如何知道在哪里寻找numpy,NSIS每当我们点击安装程序文件时添加环境变量。 pkgs文件夹由安装程序创建,pkgs文件夹包含运行python项目所需的所有依赖项。所以这就是python如何知道numpy所在的位置。
除了python项目冻结,因此使用此安装程序的响应性降低之外,一切都非常适合我。 知道如何改善表现?
谢谢&问候, Akshit Bhatia