Добавление Джулии в PATH привело к тому, что другие были сбиты с пути PATH || Mac OS X - PullRequest
0 голосов
/ 28 августа 2018

У меня была отлично работающая копия Анаконды (со Spyder на python 3.7). Я установил Julia и добавил Julia в PATH, чтобы иметь возможность запускать его из терминала, используя следующую команду (из этого источника - https://en.wikibooks.org/wiki/Introducing_Julia/Getting_started):

ln -fs "/Applications/Julia-1.0.app/Contents/Resources/julia/bin/julia" /usr/local/bin/julia

Это имело следующие эффекты:

A) Я больше не могу использовать

conda update conda

Однако Anaconda / Spyder работают нормально - сами по себе.

B) Версия Python по умолчанию для Mac была установлена ​​на 2.7 - та, которая поставляется с Mac

C) , набрав

python3 

в терминале приводит к,

-bash: python3: command not found

но Python 3 установлен.

D) Выполнение следующей команды на терминале, в результате

ls /usr/local/bin/python

ls: /usr/local/bin/python: No such file or directory

Далее, выполнив следующую команду,

sudo find / -iname python

приводит к очень длинному списку с "python" в названии (включая папки).

E) это привело к поломке установки домашнего пива. Набрав

brew upgrade

Результаты в,

-bash: brew: command not found 

Также, набрав

cd /usr/local/Library/Homebrew  

результатов в,

-bash: cd: /usr/local/Library/Homebrew: No such file or directory

F) Введите команду sudo, например, следующую:

sudo nano ~/.bash_profile

приводит к следующему сообщению:

-bash: sudo: command not found

Я искал решения, но безрезультатно.

Кажется, что, по сути, терминальные вещи, использующие PATH, были разрушены.

Как я могу починить все вышеперечисленное?

Заранее спасибо.

=================

Редактировать / обновить -

1) Просто перезагрузил компьютер и при перезапуске терминала я получаю следующее сообщение:

-bash: export: `/users/<user_name>/anaconda/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/usr/local/git/bin:/Library/TeX/texbin': not a valid identifier

2) Теперь даже команда python в терминале не распознается. Typing

python

в терминале, результат

-bash: python: command not found 

Ответы [ 3 ]

0 голосов
/ 28 августа 2018

Очевидно, я сломал переменную PATH, пытаясь заставить Джулию запускаться с терминала - просто отражение моего непонимания переменной PATH.

Мне удалось восстановить homebrew, python / python3, используя помощь, предложенную @FlyingTeller @crstbr и @Steven Siew.

Спасибо!

Мне просто нужно было упаковать исходный путь обратно в файл .bash_profile.

Тем не менее, проблема Конды оказалась призрачной. В конце концов, даже это было решено путем изменения пути в файле .bash_profile. Соответствующий путь:

export PATH="/anaconda3/bin:$PATH"

игнорируя следующее:

/users/<user-name>/<remaining_path-to-anaconda>/bin:$PATH

или

~/<remaining_path-to-anaconda>/bin:$PATH

Полагаю, будет полезно, если кто-то сначала выяснит точное местоположение папки anaconda.

Мне все еще нужно решить вопрос о том, чтобы сделать anaconda python стандартным python в терминале. Я тоже это выясню. На данный момент я нахожусь и работаю! : -)

и, что самое интересное, Юлия - мучитель - может быть запущена из терминала! ; -)

Еще раз спасибо всем за поддержку.

ура !!

0 голосов
/ 28 августа 2018

Позволяет объяснить, как устанавливается PATH при запуске / загрузке Mac

1. OSX просматривает файл / etc / paths и его содержимое имеет вид

/usr/bin
/bin
/usr/sbin
/sbin
/usr/local/bin

2. Таким образом, OSX создает переменную среды PATH как

PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin

3. Далее OSX просматривает все файлы в подкаталоге /etc/paths.d/, и там есть один файл с именем 40-XQuartz, и содержимое этого файла

/opt/X11/bin

4. Таким образом, OSX создает переменную среды PATH как

PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin

5. Далее OSX просматривает мой файл .bash_profile по адресу /Users/ssiew/.bash_profile и, пожалуйста, обратите внимание, что ssiew - это мое имя пользователя. Ваше имя пользователя будет другим. Файл имеет следующие строки

export PATH=$PATH:/Users/ssiew/bin

6. Таким образом, OSX создает переменную среды PATH как

PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin:/Users/ssiew/bin

7. Конец

Поэтому, когда вы набираете 'julia' в терминале / командной строке, OSX сначала ищет файл

/usr/bin/julia

и если файл существует, он выполняет его, но если он не существует, он ищет файл

/bin/julia

и если файл существует, он выполняет его, но если он не существует, он ищет файл

/usr/sbin/julia

и если файл существует, он выполняет его, но если он не существует, он ищет файл

/sbin/julia

и если файл существует, он выполняет его, но если он не существует, он ищет файл

/usr/local/bin/julia

и если файл существует, он выполняет его, но если он не существует, он ищет файл

/opt/X11/bin/julia

и если файл существует, он выполняет его, но если он не существует, он ищет файл

/Users/ssiew/bin/julia

и если файл существует, он выполняет его, но если он не существует, он просто сдается окончательно.

Что касается вас, потому что у вас есть символическая ссылка на

ln -fs "/Applications/Julia-1.0.app/Contents/Resources/julia/bin/julia" /usr/local/bin/julia

он найдет файл символической ссылки в / usr / local / bin / julia и будет перенаправлен в /Applications/Julia-1.0.app/Contents/Resources/julia/bin/julia

0 голосов
/ 28 августа 2018

Попробуйте заменить / users / username / на $ HOME / в вашем PATH

...