【问题标题】:Execute script in Python2 on Unix Command Line在 Unix 命令行上用 Python2 执行脚本
【发布时间】:2015-03-24 13:50:44
【问题描述】:

是的,我知道我可以做到

python2 cal.py

我要求的是一种在命令行上执行它的方法,例如:

calpy

然后是命令。我输入了一个路径,当我在命令行中编写 cal.py 时:

/usr/bin/cal.py: line 5: print: command not found

我不想发出cal.py 来运行我的脚本,我希望它发出calpy

如果有帮助,我正在运行 Arch Linux,谢谢。对不起我的英语。

【问题讨论】:

    标签: python linux


    【解决方案1】:

    为了让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 的目录在您的命令搜索路径中。我更喜欢通过修改~/.bashrc中的$PATH环境变量将~/bin添加到搜索路径中:

    export PATH=$HOME/bin:$PATH
    

    然后将我自己的可执行文件放入~/bin。您也可以将cal 复制(或符号链接)到系统范围的二进制目录之一(/bin/usr/bin),但我认为不必要地弄乱系统范围的目录是不好的做法。

    【讨论】:

      【解决方案2】:

      好的,你需要一些东西来实现你想要的。

      首先,您必须告诉您的脚本“如何”执行/解释它。你可以这样写

      #/usr/bin/env python
      

      在文件的开头。

      您遇到的问题是系统正在尝试使用bash 执行脚本。而在 bash 中没有 print 命令。

      其次,您需要赋予脚本执行权限。当然,如果你想通过命令“calcpy”调用你的脚本,脚本也必须这样调用。

      【讨论】:

      • 我让它与另一条评论一起使用。 (对于您未来的读者:Arch 没有 Python 环境。首先使用 pacman 安装。)
      【解决方案3】:

      把这个(正是这个)作为你脚本的第一行:

      #!/usr/bin/env python
      

      【讨论】:

        猜你喜欢
        • 2012-03-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-06-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多