制作一个独立的 python 脚本,可以由另一个软件 运行
Making a standalone python script that can be run by another software
我目前正在一个地方实习,他们要求我制作一个独立的 python 程序来做某事(比如 X)。
现在,该程序将由他们的专有软件发送的一些命令 运行,这些命令是用他们的专有语言编写的。现在我多次说专有的原因是因为他们还没有准备好让我接近他们的代码。我只是应该制作一个 Python 代码,根据他们的软件提供的输入执行 X。
那么有没有一种方法可以制作一个 API 并将其包装在我的代码周围,以便让软件控制它?我还需要让整个东西独立(可能是某种安装程序),这样他们就不必安装 Python 和随附的模块(如 opencv)只是为了 运行 我的脚本?
我能从中得到的只有"there are dll files that will be calling your app and we want an executable"
任何程序都可以执行任何其他程序(如果它有适当的权限)所以 "python file" 和 "python executable" 之间没有真正的区别(这是因为 python 是一个解释语言。python 源文件和 "final python program" 是 "identical"(假设 cpython),与例如源文件和可执行文件有很大不同的 C 程序形成对比).
如果您在 windows 上,则存在额外的问题,即用户必须安装 python 才能执行 .py 文件。有一些方法可以缓解这个问题 - 有 python 库 "freeze" python 解释器 和 你的代码到一个 .exe 文件中(从 Bakuriu 的评论中可以看到例如 freeze) 。您可以将 python 解释器与您的代码捆绑在一起。您可以只说您的用户安装 python(如果用户数量较少,这可能是个好方法)。
"API" 只是 "this is how you communicate with my programm" 的另一种说法。这可能是您调用库的方式(例如 python 模块导出的功能)或者这可能是 HTTP API 或传递了哪些命令行参数或通过 TCP 套接字使用了哪个协议。如果不知道您应该实施哪个 API,您将无法完成您的工作。
在不知道进一步的规范(其他程序给你的程序提供什么输入,它如何调用你的程序?)的情况下,很难说出更有帮助的东西。
我目前正在一个地方实习,他们要求我制作一个独立的 python 程序来做某事(比如 X)。
现在,该程序将由他们的专有软件发送的一些命令 运行,这些命令是用他们的专有语言编写的。现在我多次说专有的原因是因为他们还没有准备好让我接近他们的代码。我只是应该制作一个 Python 代码,根据他们的软件提供的输入执行 X。
那么有没有一种方法可以制作一个 API 并将其包装在我的代码周围,以便让软件控制它?我还需要让整个东西独立(可能是某种安装程序),这样他们就不必安装 Python 和随附的模块(如 opencv)只是为了 运行 我的脚本?
我能从中得到的只有"there are dll files that will be calling your app and we want an executable"
任何程序都可以执行任何其他程序(如果它有适当的权限)所以 "python file" 和 "python executable" 之间没有真正的区别(这是因为 python 是一个解释语言。python 源文件和 "final python program" 是 "identical"(假设 cpython),与例如源文件和可执行文件有很大不同的 C 程序形成对比).
如果您在 windows 上,则存在额外的问题,即用户必须安装 python 才能执行 .py 文件。有一些方法可以缓解这个问题 - 有 python 库 "freeze" python 解释器 和 你的代码到一个 .exe 文件中(从 Bakuriu 的评论中可以看到例如 freeze) 。您可以将 python 解释器与您的代码捆绑在一起。您可以只说您的用户安装 python(如果用户数量较少,这可能是个好方法)。
"API" 只是 "this is how you communicate with my programm" 的另一种说法。这可能是您调用库的方式(例如 python 模块导出的功能)或者这可能是 HTTP API 或传递了哪些命令行参数或通过 TCP 套接字使用了哪个协议。如果不知道您应该实施哪个 API,您将无法完成您的工作。
在不知道进一步的规范(其他程序给你的程序提供什么输入,它如何调用你的程序?)的情况下,很难说出更有帮助的东西。