Jython на Ubuntu 18.04, місце установки


0

Я встановив наступне, щоб встановити Jython:

sudo apt-get install jython

Встановлена ​​версія 2.7.1:

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

Однак тоді я зіткнувся з цією помилкою (також повідомляється як про цю помилку ) і хотів замість неї вручну встановити Jython, щоб спробувати іншу версію.

Поточний останній з Jython.org - 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. Можливо, є змішання бібліотеки (або, можливо, verison 2.7.0 IS версія 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/?

Відповіді:


2

Bash кешує шляхи до виконуваних файлів. whichне знає про цей кеш; це випливає з логіки, яку ви очікуєте від кінцевого споживача. Я б припустив, що проблема вирішена при запуску нової оболонки.

Jython 2.7.0 і 2.7.1 - це різні версії. Після того, як ви встановили 2.7.0, ви пов’язали його з місцем, яке, ймовірно, з’являється після /usr/bin/ вашого PATH*, змусивши його надалі віддавати перевагу системній версії.

* PATH- це змінна середовище, яка вказує оболонці, де шукати та в якому порядку, коли ви вводите команду. Ви можете переглядати його, як і будь-які змінні середовища, за допомогою echo $PATH.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.