【发布时间】:2019-03-12 08:04:10
【问题描述】:
我有一个 python 应用程序,我使用 pyinstaller 创建了一个可执行文件。整个 python 解释器与所有 pip 依赖项一起打包到可执行文件中。
所以现在我的应用程序可以在可能没有安装python或python模块的环境中运行,但仍然存在一些依赖关系:
1) MongoDB - 这是我的应用程序使用的数据库,它当然需要安装在系统上才能正常工作。
2) Mosquitto - 此服务是必需的,因为应用程序使用 MQTT 来接收/发送命令。
我目前的处理方法是使用一个 shell 脚本,当我的应用程序部署在某个地方时,它会第一次安装 mongodb 和 mosquitto。我刚刚发现了 docker,我想知道它是否能够将这些“外部”依赖项打包到一个 docker 映像中?
我是否有可能拥有一个独立的“东西”,它可以在任何环境中运行,无论那里安装的是 mongoDB 还是 mosquitto?
那我到底该怎么做呢?
(无关,但此应用程序旨在在树莓派上运行)
【问题讨论】:
-
你能澄清一下吗?您写到您的应用程序需要 MongoDB 和 Mosquito 才能运行,然后您询问是否可以在没有这 2 个工具的环境中运行它。
-
@Adonis 我的意思是,我可以将 MongoDB 和 Mosquitto 打包到 docker 映像中,以便它可以在没有安装这两个的系统上运行吗?就像我对 pip 依赖项所做的那样?感谢 pyinstaller,我可以在没有安装 python 的系统上运行我的 python 程序。这有意义吗?
标签: python mongodb docker pyinstaller