好的,我在 Google 上快速搜索了如何将 python3 设置为默认值。我遇到了这段代码:
echo "alias python='python3'" >> .bashrc
source .bashrc
将其输入终端,但它没有按我想要的方式工作,所以我仔细检查了我没有犯任何错误,而且我不确定(现在仍然不确定)这意味着什么>>
。我想我刚刚做过一两次
.bashrc source .bashrc
当我现在启动终端时,它会显示:
-bash: alias: source: not found
-bash alias: .bashrc: not found
-bash: alias: source: not found
-bash alias: .bashrc: not found
my@my-hp:~$
我把一切都搞乱了。我不知道如何解决这个问题并删除我所做的事情。
好消息是,当我在终端中输入“python”时,它会运行 python3,但在将目录更改为我想要的适当文件夹后,我仍然无法通过在终端中输入它来运行 py 文件。
任何帮助将不胜感激
答案1
>>
将前一个命令的输出附加到后一个文件的方法。
除了你应该运行的是
echo "alias python='python3'" >> .bashrc ; source .bashrc
因为您遗漏了;
source 命令而不是运行它被添加到您的.bashrc
.您应该编辑它并删除所有这些源命令。
将别名命令添加到您的 bashrc 使其在您的帐户中永久存在,但仅在您下次打开 shell 时生效。在 .bashrc 上运行 source 会重新执行该文件的内容,这会导致文件中的别名被添加到当前的 shell 中。我建议您在首次创建别名命令时直接使用剪切和粘贴来运行别名命令,而不是获取 bashrc。 (但无论哪种方式都有效。)
如果要直接运行 .py 文件,则必须添加#!/usr/bin/env python3
为 .py 文件的第一行,然后使用 .py 文件使其可执行chmod +x
。
答案2
我不确定这是否能让您摆脱错误,但是一旦您从中恢复,您应该考虑使用该update-alternatives
实用程序 - 它是为安装同一程序的多个版本的情况而设计的。以下是将默认 Python 从 2.X 更改为 3.Y 的演练
验证您的系统基线(这是来自我的系统):
$ python --version
Python 2.7.16
$ python3 --version
Python 3.7.3
要使python
命令默认使用python3
:
$ sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 10
响应应该是:
update-alternatives:使用 /usr/bin/python3 在自动模式下提供 /usr/bin/python (python)
再次检查基线:
$ python --version
Python 3.7.3
$ python3 --version
Python 3.7.3
man update-alternatives
详情请参阅。如果您想“撤消”此操作:
$ sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 10
这应该产生这样的响应:
update-alternatives:使用 /usr/bin/python2.7 在自动模式下提供 /usr/bin/python (python)