Keras和OpenCV(CV2)是否作为Python可执行文件的依赖项?

时间:2019-04-03 17:07:33

标签: python opencv keras pyinstaller cv2

对于一次学校作业,我编写了一个系统(在Windows 8.1中为Python 3),采用特定的扫描形式,识别数字,将其与答案键进行比较,然后将“成绩”放入CSV。我现在使系统完全基于单个文件工作(例如,我有一个“解析”扫描文档的文件,一个进行识别的部分,一个训练了用于识别的神经网络的文件等),但是我的教练要求我把它变成可执行文件。

我最近了解了pyinstaller,我觉得这可以满足我的要求,但是我对应该如何使用依赖项感到迷惑。我相信我应该在Python中创建一个“运行脚本”,以导入各个组件并以指定顺序调用带有参数的函数。我还有一个“模板”图像,需要与可执行文件一起存储。

尤其是对于Keras和CV2,我知道有很多依赖项。所有这些依赖项是否都需要存在于我安装程序的目录中,或者pyinstaller是否从安装它们的pip目录中获取它们?对于OpenCV,我是否还必须弄清楚如何设法将其引入安装程序?

很抱歉,如果这不是问问题的正确地方。

1 个答案:

答案 0 :(得分:0)

Pyinstaller对每个软件包都使用hooks,您需要检查以确保Pyinstaller与您的Keras和OpenCV软件包兼容。大多数软件包都可以直接使用,您可以检查here中是否有第三方支持的软件包。我目前使用的OpenCV v4.0.0和Pyinstaller v3.4都可以正常工作。据我了解,Pyinstaller从安装它们的pip目录中获取它们,因此您不必担心在同一目录中存在依赖项。程序中使用的所有软件包都将自动包含在Pyinstaller可执行文件中,具体取决于您用来构建程序的标志。

您可以对单个文件捆绑的可执行文件使用--onefile标志。另一个有用的标志是--windowed标志,它使您可以从命令行调试程序。您可以找到有关标志here的更多信息。

相关问题