【发布时间】:2017-01-22 19:12:43
【问题描述】:
我在笔记本电脑上使用 Pycharm 创建了一个用 Python 编写的简单中复杂度脚本,我希望使用 Crontab 在我的 Raspberry Pi 上运行它。我过去的所有编程经验都是在 Windows 中使用 C++ 和 C#,因此我通常会构建项目,然后将其全部编译并链接到单个可执行文件中。
对于 Python,您如何“编译”脚本以使其可以在另一台 PC 上运行?我使用了一些必须使用 Pycharm 应用程序安装的外部库(请求和 ImgurClient)。我想我认为这些也需要传递给 RaspPi 是正确的吗?我的脚本在两个文件中,所以我需要复制这两个文件吗?有没有办法将它们构建到一个文件中以便轻松使用?
这是我写的第一个脚本,只是根据我对其他语言的了解和一点谷歌搜索。只是现在我有了实际的脚本,不知道如何继续。
【问题讨论】:
-
无需编译,只需要目标机器上兼容的Python版本即可。之后,就像复制 .py 文件并运行它一样简单。
-
即使在 Linux 上也可以将解释器、脚本和 deps 打包成一个独立的可执行文件,但你真的不想。这将使你的程序启动起来比你用传统方式做的事情要慢得多——也就是说,通过复制 Python 源代码(可能打包为 Python egg 或类似的东西),安装一个解释器和任何必要的库依赖项,然后使用该解释器运行文件。 [在一些较大的机器上启动开销可能是可以容忍的,但在 Pi 上它会非常、非常、非常太慢]。
-
...这是因为在该单个可执行文件实际运行之前,它需要将解释器和其他所有内容解压缩到单独的文件中(通常在临时目录中),所以你' 没有获得运行时速度优势(代码仍在解释中!),但在运行时速度上存在很大劣势(需要在启动时解包所有内容!)