我在笔记本电脑上使用Pycharm创建了一个用Python编写的简单中等复杂性脚本,我希望使用Crontab在我的Raspberry Pi上运行它。我过去的所有编程经验都是在Windows中使用C ++和C#,因此我通常只是对项目进行构建,并将其编译并链接到单个可执行文件中。
对于Python,你如何编译"脚本,以便它可以在另一台PC上运行?我使用一些外部库(请求和ImgurClient),我必须使用Pycharm应用程序安装。我想我认为这些也需要被拉到RaspPi是正确的吗?我的脚本有两个文件,所以我需要复制这两个文件吗?有没有办法将它们构建到一个文件中以便轻松使用?
这是我的第一个脚本,我只是根据我对其他语言的知识和一些谷歌搜索来编写的。由于我有实际的脚本,所以不知道如何继续。
答案 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
,但是外部库与您想要使用的外部库一样复杂,这将是一个非常困难的路径。
答案 4 :(得分:0)
正如其他答案所说,你可以在Pi上运行你的代码,因为Python代码被解释而不是被编译。
话虽这么说,你需要预先安装任何python包,比如ImgurClient。如果您在PC上使用PyCharm执行此操作,则可能必须在Pi上使用pip。
答案 5 :(得分:0)
我不知道你是否能够在其他环境中运行python脚本,特别是如果脚本使用你通常用pip安装的外部库(.whl)。
在干净的环境中运行脚本的一个好方法是使用virtualenv:
https://virtualenv.pypa.io/en/stable/
“它创建了一个环境,它有自己的安装目录,不与其他virtualenv环境共享库(也可以选择不访问全局安装的库)”
然后只安装必要的库来运行脚本。如果您导出这个新环境,您可能可以毫无问题地运行脚本。