Ubuntu 18.04 上的 Jython,安装位置

Ubuntu 18.04 上的 Jython,安装位置

我运行以下命令来安装 Jython:

sudo apt-get install jython

安装的是2.7.1版本:

$ which jython
/usr/bin/jython
$ jython --version
Jython 2.7.1

然而,后来我遇到了这个错误(还已报告此错误) 并想手动安装 Jython,以尝试不同的版本。

目前最新来自Jython 网站是 2.7.0,如果失败的话我也会尝试 2.5.3。

我跑了

sudo java -jar jython-installer-2.7.0.jar

并安装到/usr/local/lib/jython2.7.0/并符号链接

sudo ln -s /usr/local/lib/jython2.7.0/bin/jython /usr/local/bin/jython

所以现在我有:

$ which jython
/usr/local/bin/jython
$ jython --version
Jython 2.7.1

还是同样的错误。好的,让我们删除 Ubuntu 安装的 Jython。可能是库混淆了(或者可能是版本 2.7.0版本 2.7.1?

$ sudo apt-get remove jython
$ which jython
/usr/local/bin/jython
$ jython --version
bash: /usr/bin/jython: No such file or directory
$ ll /usr/local/bin/jython
lrwxrwxrwx 1 root root 37 Jul 29 07:44 /usr/local/bin/jython -> /usr/local/lib/jython2.7.0/bin/jython*

现在我很困惑。

为什么which jython指向/usr/local/bin/但是当我尝试运行 jython 时它却在查找/usr/bin/

答案1

猛击缓存路径到可执行文件。which不知道这个缓存;它遵循您作为最终用户所期望的逻辑。我认为在启动新 shell 时问题已经解决。

Jython 2.7.0 和 2.7.1 是不同的版本。安装 2.7.0 后,你将其符号链接到可能来自 /usr/bin/在您的PATH*中,使其继续优先选择系统版本。

*PATH是一个环境变量,它告诉 shell 在键入命令时要查找的位置以及查找顺序。您可以像查看任何环境变量一样,使用 来查看它echo $PATH

相关内容