"编译" Python在另一台机器上运行

时间:2016-09-14 21:02:51

标签: python cron pycharm

我在笔记本电脑上使用Pycharm创建了一个用Python编写的简单中等复杂性脚本,我希望使用Crontab在我的Raspberry Pi上运行它。我过去的所有编程经验都是在Windows中使用C ++和C#,因此我通常只是对项目进行构建,并将其编译并链接到单个可执行文件中。

对于Python,你如何编译"脚本,以便它可以在另一台PC上运行?我使用一些外部库(请求和ImgurClient),我必须使用Pycharm应用程序安装。我想我认为这些也需要被拉到RaspPi是正确的吗?我的脚本有两个文件,所以我需要复制这两个文件吗?有没有办法将它们构建到一个文件中以便轻松使用?

这是我的第一个脚本,我只是根据我对其他语言的知识和一些谷歌搜索来编写的。由于我有实际的脚本,所以不知道如何继续。

6 个答案:

答案 0 :(得分:1)

如果您在Raspberry Pi上安装了Python,那么从shell中只需要运行:

# This installs pip (Python installer) as well as the requests library
sudo apt-get install python-pip

安装完成后,运行:

# To install the ImgurClient
pip install imgurpython

然后您可以通过输入以下命令在shell上运行脚本:

python your_script_name.py

如果您还没有安装Python,只需运行以下命令将其安装在其他命令之前:

sudo apt-get install python

答案 1 :(得分:0)

Python不需要编译,因为它是一种解释性语言。只要您没有进行系统调用,您就可以在另一台机器上运行它。如果你试图在linux机器上使用windows命令这样做,系统调用只会成为一个问题。

只需将这两个文件复制到pi并按正常方式运行即可。或者从终端

python program.py

答案 2 :(得分:0)

使用PyInstaller。在终端中,要创建一个独立的exe,只需使用如下命令:

pyinstaller -F myscript.py

答案 3 :(得分:0)

你可以"编译" python文件到.pyc但你仍然需要RaspPi上的python解释器来运行它们。

在没有Python的PC上,您可以使用py2exe创建独立的可执行文件,但必须在Windows上运行可执行文件。

你必须在你的覆盆子Pi上安装一个python解释器,或者创建一个py2exe的可执行文件,它以raspberry Pi为目标(如果该平台上存在py2exe),那将是另一个覆盆子Pi:)

另一个替代方案是Cython,但是外部库与您想要使用的外部库一样复杂,这将是一个非常困难的路径。

Python on Raspberry Pi

Creating python exes on Linux

答案 4 :(得分:0)

正如其他答案所说,你可以在Pi上运行你的代码,因为Python代码被解释而不是被编译。

话虽这么说,你需要预先安装任何python包,比如ImgurClient。如果您在PC上使用PyCharm执行此操作,则可能必须在Pi上使用pip

答案 5 :(得分:0)

我不知道你是否能够在其他环境中运行python脚本,特别是如果脚本使用你通常用pip安装的外部库(.whl)。

在干净的环境中运行脚本的一个好方法是使用virtualenv:

https://virtualenv.pypa.io/en/stable/

“它创建了一个环境,它有自己的安装目录,不与其他virtualenv环境共享库(也可以选择不访问全局安装的库)”

然后只安装必要的库来运行脚本。如果您导出这个新环境,您可能可以毫无问题地运行脚本。