我的操作系统(Ubuntu 14.04)使用旧版本的Python 2.7.6,/usr/bin/python
这表明/usr/bin/python2.7
我安装了新版本的Python 2.7.9 /usr/local/bin/python2.7
。
在我自己的壳里,
如何使用 shebang 制作所有 python 脚本以使用新的 python?使用
#!/usr/bin/env python
as shebang 可以解决问题吗?我该如何让它发挥作用?我也可以将命令设置
python
为新命令吗?
同时让我的操作系统仍然使用原来的旧操作系统?
答案1
要进行设置,以便python
您获得新版本,但其他所有人(包括标准操作系统程序)将获得原始版本:
选择一个目录来保存您的个人程序(或它们的符号链接)。这可以是
$HOME/bin
或/usr/local/bin
,无论你喜欢什么。如果不存在则创建它。我将$HOME/bin
在这个例子中使用。编辑你的
~/.profile
.在 Ubuntu 14.04 上,它可能已经包含一行PATH="$HOME/bin:$PATH"
,这会将这个目录放在搜索路径的前面。如果没有,请添加该行。跑步
ln -s /usr/local/bin/python2.7 $HOME/bin/python
注销、登录、键入
which python
以验证 shell 是否在您的$HOME/bin
目录中找到(符号链接)python。键入python --version
以验证您是否获得了新版本。
#!/usr/bin/env python
通过让脚本以行而不是开头,您已经做了一件好事#!/usr/bin/python
。该env
命令将遍历您的搜索路径来查找python
.
答案2
如何使用 shebang 制作所有 python 脚本以使用新的 python?
使用舍邦#!/usr/bin/python2.7
我还可以将命令 python 设为新命令吗?
您可以将编译后的 Python 命名为其他名称,例如,/usr/local/bin/python2.7
然后通过完整路径直接调用二进制文件或创建别名,例如
alias python2.7='/usr/local/bin/python2.7'
并把它放进去~/.bashrc
。
答案3
为此,您还可以使用虚拟环境,它允许你在里面使用不同的python版本。