![更改脚本所引用的 Python 版本](https://linux22.com/image/1577790/%E6%9B%B4%E6%94%B9%E8%84%9A%E6%9C%AC%E6%89%80%E5%BC%95%E7%94%A8%E7%9A%84%20Python%20%E7%89%88%E6%9C%AC.png)
我已经下载了脚本“install_esoreflex”(ftp://ftp.eso.org/pub/dfs/reflex/install_esoreflex),然后执行以下命令:
chmod u+x install_esoreflex
./install_esoreflex
我收到以下警告
WARNING: The following Python version is installed in your system Python 3.7.0
WARNING: Some of the available workflows use functionality
WARNING: only available in version Python 2.6.0 or greater
WARNING: and will not work properly with the installed version.
WARNING: Additionally, python 3.x is not yet supported.
尽管我同时拥有 Python 3.7.0 和 2.7。Python 2 安装在 /usr/bin/python2 中,Python 3 安装在 /home/USER/miniconda3/bin/python3 中。我怎样才能让脚本“知道”我有 python 2?
答案1
从 Ubuntu 18.04 版本开始,python 3 是默认的 python 版本(关联)。这意味着符号/usr/bin/python
链接到了/usr/bin/python3
。您可以通过运行来检查python —version
。
要在脚本中默认使用 Python 2(正如安装脚本所要求的那样),您需要安装 Python 2 版本 ( apt-get install python2
)。并告诉 Ubuntu 使用该 Python 版本。
这是不是建议更改/usr/bin/python
符号链接,因为它是发行版维护配置的一部分。相反,您应该使用命令alias
(关联): alias python=python2
。这(本地)指向python
,python2
可在 中找到/usr/bin
。您可以在运行安装脚本之前在终端中使用此命令一次。要更永久地更改它,请将其添加到.bash_profile
。
答案2
查看脚本是否有“shebang”(第一行带有#!...
),并将python
其中的引用更改为指向,python2
而不仅仅是python
编辑:
好的,所以整个脚本假设您的默认设置python
是 Python v2。您也许可以使用别名 ( alias python=python2
) 成功运行安装,如上面的评论所示。
但是,整个包很可能需要python
python v2,因此每次运行包中的某些内容时,您都必须执行相同的操作。但是,如果您设置永久别名,这可能会与系统中需要 python=python3 的其他内容发生冲突。
因此,在为 python v2 设置别名后,您可能必须使用外观脚本来启动该包的各个部分。
答案3
这可以在一行中解决您的问题,而无需更改系统的 python 符号链接,这可能会导致其他问题。
wget ftp://ftp.eso.org/pub/dfs/reflex/install_esoreflex -O - | sed 's/command -v python/command -v python2/g' | sh