繁体   English   中英

我在 linux 上使用什么来使 python 程序可执行

[英]What do I use on linux to make a python program executable

我刚刚安装了一个 linux 系统(Kubuntu),想知道是否有一个程序可以使 python 程序在 linux 上可执行。

只需将其放在脚本的第一行:

#!/usr/bin/env python

使文件可执行

chmod +x myfile.py

执行

./myfile.py

如果您想在 Python 中获得独立的二进制应用程序,请尝试使用 py2exe 或PyInstaller 之类的工具。

您可以使用 PyInstaller。 它生成一个构建 dist,因此您可以将其作为单个“二进制”文件执行。

http://pythonhosted.org/PyInstaller/#using-pyinstaller

Python 3 还具有创建构建 dist 的本机选项:

https://docs.python.org/3/distutils/builtdist.html

将这些行放在代码的开头将告诉您的操作系统查找执行 python 脚本所需的二进制程序,即它是 python 解释器。

所以这取决于你的操作系统在哪里保存 python 解释器。 因为我有 Ubuntu 作为操作系统,所以它把 python 解释器保存在/usr/bin/python所以我必须在 python 脚本的开头写这一行;

#!/usr/bin/python

完成并保存您的代码后

  1. 启动你的命令终端

  2. 确保脚本位于您当前的工作目录中

  3. 输入chmod +x script_name.py

  4. 现在您可以通过单击脚本来启动脚本。 将出现一个警告框; 在警告框中按“运行”或“在终端中运行”; 或者,在终端提示下,输入./script_name.py

如果想要制作可执行文件hello.py

首先找到python在你的操作系统中的路径: which python

它通常位于“/usr/bin/python”文件夹下。

hello.py第一行应该添加: #!/usr/bin/python

然后通过linux命令chmod

一个应该只是让它可执行,如: chmod +x hello.py

并使用./hello.py执行

我执行以下操作:

  1. 放 #! 脚本顶部的 /usr/bin/env python3
  2. chmod u+x 文件.py
  3. 将文件名中的 .py 更改为 .command

这实质上将文件转换为 bash 可执行文件。 当您双击它时,它应该会运行。 这适用于基于 Unix 的系统。

另一种方法是创建别名。 例如在终端写:

alias printhello='python /home/hello_world.py'

编写printhello将运行 hello_world.py,但这只是暂时的。 要使别名永久,您必须将它们添加到 bashrc,您可以通过在终端中编写以下内容来编辑它:

gedit ~/.bashrc

执行以下步骤:

  1. 将此作为第一行添加到您的执行入口点 python 文件中
#!/usr/bin/python
  1. 修改脚本为可执行
    chmod +x <script-name>.py
  1. /usr/local/bin创建到<script-name>.py的符号链接
ln -s /usr/local/bin/<executable-name-you-want> <path-to-your-script>

无论您有单个独立的 python 脚本还是有多个由主文件调用的依赖脚本,这些步骤都有效。

在代码顶部,首先编写:

#usr/bin/python#usr/bin/env python然后创建一个名为setup.sh的新.sh文件并编写:

sudo apt-get install python python-pip
sudo chmod +x yourfile.py
sudo -H pip install librariesyouwant

因此,消除了没有python的问题并安装了所有缺少的软件包。 要制作桌面快捷方式,请执行以下操作:

sudo cp yourfile.py ~/Desktop/
sudo chmod +x ~/Desktop/yourfile.py

请注意,如果未使用代码创建GUI,则必须使用./yourfile.py在终端上运行代码

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM