我如何 运行 python2.7 不在命令行中指定它?
How can I run python2.7 specifically without specifying it at the command line?
为了提供一些背景知识,我正在尝试 "install" 一个 python 脚本,以便用户只需 运行 我的 install.py 脚本,然后他们就可以 运行 主脚本(例如,"awm"),而无需自己做任何工作。这看起来像:
awm sync
例如。具体来说,我不必输入 python 文件 "awm" 的完整路径,作为用户,我也不必去弄乱 /etc/paths、/etc/profile, .bashrc 或其他任何东西,install.py 为我做了这些。
我的第一个尝试是将 "awm" 添加到 /etc/paths,它只适用于 Mac。所以我分支,并添加到 /etc/profile 以使其在 RHEL 上工作 - 另一个目标 OS。不幸的是,我公司的 RHEL 机器使用 Python 2.6,而 "awm" 需要 Python 2.7。别名来拯救...?
这让我想到了实际问题 - 我的许多队友使用不同的 shells,例如我使用 fish,一些使用 zsh,其他使用 bash,等等。有没有办法让我在不知道用户 shell 的情况下添加别名?或者我是 SOL?
除了这里的别名之外,我对其他解决方案持开放态度,但这似乎是最有希望的解决方案,因为别名可以手动指定要使用的 python 版本。
像这样为 python 2.7 使用 shebang:
#!/usr/bin/env python2.7
假设您已经将它安装在 PATH 中,您甚至不需要在文件名末尾添加 .py。然后你可以调用:
awm sync
为了提供一些背景知识,我正在尝试 "install" 一个 python 脚本,以便用户只需 运行 我的 install.py 脚本,然后他们就可以 运行 主脚本(例如,"awm"),而无需自己做任何工作。这看起来像:
awm sync
例如。具体来说,我不必输入 python 文件 "awm" 的完整路径,作为用户,我也不必去弄乱 /etc/paths、/etc/profile, .bashrc 或其他任何东西,install.py 为我做了这些。
我的第一个尝试是将 "awm" 添加到 /etc/paths,它只适用于 Mac。所以我分支,并添加到 /etc/profile 以使其在 RHEL 上工作 - 另一个目标 OS。不幸的是,我公司的 RHEL 机器使用 Python 2.6,而 "awm" 需要 Python 2.7。别名来拯救...?
这让我想到了实际问题 - 我的许多队友使用不同的 shells,例如我使用 fish,一些使用 zsh,其他使用 bash,等等。有没有办法让我在不知道用户 shell 的情况下添加别名?或者我是 SOL?
除了这里的别名之外,我对其他解决方案持开放态度,但这似乎是最有希望的解决方案,因为别名可以手动指定要使用的 python 版本。
像这样为 python 2.7 使用 shebang:
#!/usr/bin/env python2.7
假设您已经将它安装在 PATH 中,您甚至不需要在文件名末尾添加 .py。然后你可以调用:
awm sync