繁体   English   中英

为在 Ubuntu 中执行 python 脚本创建终端名称

[英]Create terminal name for execute python script in Ubuntu

我在“/home/username/scripts/pyscript”中有一个 python 文件,我想设置一个词来直接执行这个脚本。

我想做这个“python3 /home/username/scripts/pyscript/main.py arg1 arg2”,但看起来像这个“myscript arg1 arg2”

这可能吗? 还是非常感谢。

它可以通过多种方式实现。 链接适用于Bash ,据说是您的 shell 但这些想法始终适用。

第一个选项:制作 shell别名

alias myscript='python3 /home/username/scripts/pyscript/main.py'

请务必将别名添加到 your.profile 以使其在注销后仍然有效。

第二个选项:定义一个包装脚本 创建一个包含以下内容的文件,以您想要的命令命名(例如 myscript):

#!/bin/bash
python3 /home/username/scripts/pyscript/main.py "$@"

保存并使其可执行,然后调用它:

chmod +x myscript
./myscript arg1 arg2

确保将脚本复制到 PATH 中的文件夹中(使用 echo $PATH 检查位置),以便能够从任何文件夹中调用它。

您还可以使用pyinstaller创建单个文件可执行文件:

第 1 步:安装pyinstaller

[注意:最佳做法是在virutalenv中执行此操作]

$ pip install pyinstaller

第 2 步:针对您的脚本运行pyinstaller

$ pyinstaller --console --onefile /home/username/scripts/pyscript

$ pyinstaller pyscript.spec  # use this after the first run

第三步:测试生成的可执行文件

$ cd /home/username/scripts/dist  # generated by pyinstaller
$ pyscript arg1 arg2

第 4 步:利用 $PATH 变量

$ cp /home/username/scripts/dist/pyscript /usr/bin

您现在应该能够从任何地方运行可执行文件。

应该注意的是,生成的可执行文件是特定于操作系统的。 例如,如果您在 Ubuntu 机器上生成它,它将仅在 Ubuntu(基于 Debian)上运行。 Windows 和其他 Linux 发行版也是如此。

最后我在@pierpaciugo 的帮助下求解我在.bashrc 的末尾添加了一个别名以使其持久化:

alias create='bash /home/username/Programming/Python/GithubAPI/script.sh'

我不能只使用别名,因为我的 python 依赖于虚拟环境,所以如果我尝试这个,我无法将参数添加到我的 python 脚本中。

为此,我创建了这个 bash 脚本:

#!/bin/bash

source /home/username/Programming/Python/GithubAPI/venv/bin/activate && python3 /home/username/Programming/Python/GithubAPI/main.py $@ && deactivate

现在我可以编写“create param1 param2”并且它可以工作。 我正在使用所有全局路径,但将脚本添加到我的 PATH 中的文件夹中可能是个好主意。

暂无
暂无

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

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