如何使用一个词从命令行 运行 python 脚本
How to run a python script from command line using one word
所以我想为此使用 python 程序包制作一个 CLI,但我也想从我的用户帐户(或系统)中的任何地方使用 "myCli" 这样的简单命令来调用 CLI广泛灵活)。
我目前的解决方案如下,但看起来很老套:
在 ~/scripts/
~/scripts me$ cat hiPython
python ~/scripts/hi.py
~/scripts me$ cat hi.py
print("im python")
在 bash_profile(在 mac 上):
export PATH="/Users/me/scripts:$PATH"
这似乎有效
~/Desktop me$ hiPython
im python
有没有更少的brittle/dangerous方式?
我不是很理解你的问题,但别名也许有用?
> alias myCli="python ~/LocationOfPythonFile/hiPython.py
> myCli
> im python
典型的方法是使用 #!
表示法(google 表示为 "shebang")。
创建一个名为 hiPython
的文件。使用 chmod
授予自己执行它的权限,并确保它位于 $PATH
中列出的目录中(您似乎已经知道如何执行这两个步骤)。在文件中,确保第一行以 #!
开头,然后指定文件其余部分应使用哪个解释器:
#!/usr/bin/python
print("I'm Python")
为了灵活性,人们经常在这种情况下使用 env
:
#!/usr/bin/env python
print("I'm Python")
因为它会在您当前的 $PATH
上找到第一个 python
二进制文件,而不是 python
.
的硬编码 version/distro
注意:这不是 Python 独有的。您可以使用此方法将任何文件与您喜欢的任何可执行文件相关联。这有一些创造性的标签外用途,但通常是将脚本与其解释器相关联。
你需要做三件事。
- 将
#!/usr/bin/python
(或您的解释器的任何适当路径)添加为脚本的第一行
chmod +x
将您的脚本标记为可执行文件
- 确保脚本位于
PATH
环境变量 中找到的目录中
我建议确保其名称是唯一的,以避免与系统上的任何其他内容发生冲突。
所以我想为此使用 python 程序包制作一个 CLI,但我也想从我的用户帐户(或系统)中的任何地方使用 "myCli" 这样的简单命令来调用 CLI广泛灵活)。
我目前的解决方案如下,但看起来很老套:
在 ~/scripts/
~/scripts me$ cat hiPython
python ~/scripts/hi.py
~/scripts me$ cat hi.py
print("im python")
在 bash_profile(在 mac 上):
export PATH="/Users/me/scripts:$PATH"
这似乎有效
~/Desktop me$ hiPython
im python
有没有更少的brittle/dangerous方式?
我不是很理解你的问题,但别名也许有用?
> alias myCli="python ~/LocationOfPythonFile/hiPython.py
> myCli
> im python
典型的方法是使用 #!
表示法(google 表示为 "shebang")。
创建一个名为 hiPython
的文件。使用 chmod
授予自己执行它的权限,并确保它位于 $PATH
中列出的目录中(您似乎已经知道如何执行这两个步骤)。在文件中,确保第一行以 #!
开头,然后指定文件其余部分应使用哪个解释器:
#!/usr/bin/python
print("I'm Python")
为了灵活性,人们经常在这种情况下使用 env
:
#!/usr/bin/env python
print("I'm Python")
因为它会在您当前的 $PATH
上找到第一个 python
二进制文件,而不是 python
.
注意:这不是 Python 独有的。您可以使用此方法将任何文件与您喜欢的任何可执行文件相关联。这有一些创造性的标签外用途,但通常是将脚本与其解释器相关联。
你需要做三件事。
- 将
#!/usr/bin/python
(或您的解释器的任何适当路径)添加为脚本的第一行 chmod +x
将您的脚本标记为可执行文件- 确保脚本位于
PATH
环境变量 中找到的目录中
我建议确保其名称是唯一的,以避免与系统上的任何其他内容发生冲突。