是的,我知道我可以做到
python2 cal.py
我要求的是一种在命令行执行它的方法,例如:
calpy
然后是命令。我放入一个路径,当我在命令行中写入cal.py时:
/usr/bin/cal.py: line 5: print: command not found
我不想发布cal.py
来运行我的脚本,我希望它发布calpy
如果有帮助的话,我正在运行Arch Linux,谢谢。抱歉我的英文。
答案 0 :(得分:4)
为了让bash
知道通过Python解释器运行您的脚本,您需要在开始时添加适当的shebang。例如:
#!/usr/bin/python
告诉bash
以脚本作为第一个参数运行/usr/bin/python
。我个人更喜欢
#!/usr/bin/env python
与virtualenv
兼容。您还需要确保脚本的权限允许执行它:
~$ chmod +x path/to/cal.py
最后,为了调用cal
而不是path/to/cal.py
,您需要删除.py
扩展名并确保包含cal
的目录位于命令搜索中路径。我希望通过修改~/bin
中的$PATH
环境变量,将~/.bashrc
添加到搜索路径中:
export PATH=$HOME/bin:$PATH
然后将我自己的可执行文件放在~/bin
中。您也可以将(或符号链接)cal
复制到系统范围的二进制目录(/bin
或/usr/bin
)之一,但我认为不必要地乱用系统范围的目录是不好的做法
答案 1 :(得分:2)
好的,你需要一些东西来实现你想要的东西。
首先,您必须告诉您的脚本“如何”执行/解释它。你可以写这个文字
#/usr/bin/env python
在文件的初始阶段。
您遇到的问题是系统正在尝试使用bash
执行脚本。在bash中没有print
命令。
其次,您需要为脚本提供执行权限。当然,如果您想通过命令“calcpy”调用脚本,则必须像这样调用脚本。
答案 2 :(得分:1)
将此(正好是这个)作为脚本的第一个行:
#!/usr/bin/env python