путь установки в терминале

Я устанавливаю Homebrew на своем Mac, чтобы установить Macvim. После установки Homebrew мне предлагается запустить врача-пиво, что, в свою очередь, вызывает ряд предупреждений. Я разрешил несколько из них, но я застрял на двух:

Предупреждение: Enthought Python был найден в вашем PATH. Это может вызвать проблемы с сборкой, так как это программное обеспечение устанавливает собственные копии iconv и libxml2 в каталоги, которые собираются другими системами сборки.

Я не уверен, должен ли я просто игнорировать это или искать способ удаления Enthought Python.

Предупреждение: / usr / bin происходит до / usr / local / bin. Это означает, что будут использоваться системные программы, а не те, которые предоставляются Homebrew. На обоих путях существуют следующие инструменты:

git git-cvsserver git-receive-pack git-shell git-upload-archive git-upload-pack 

Подумайте о настройке PATH, чтобы / usr / local / bin происходил до / usr / bin. Вот однострочный: echo export PATH = "/ usr / local / bin: $ PATH" >> ~ / .bash_profile

Я побежал

echo export PATH = "/ usr / local / bin: $ PATH" >> ~ / .bash_profile

несколько раз, но продолжают получать такое же предупреждение. Вот мой ПУТЬ

 nngrey$ echo $PATH /Users/nngrey/.rvm/gems/ruby-2.0.0-p247@railstutorial_rails_4_0/bin:/Users/nngrey/.rvm/gems/ruby-2.0.0-p247@global/bin:/Users/nngrey/.rvm/rubies/ruby-2.0.0-p247/bin:/Users/nngrey/.rvm/bin:/Library/Frameworks/Python.framework/Versions/Current/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/git/bin:/Users/nngrey/bin 

Хорошо, я нашел ответ на мой второй вопрос здесь: Как изменить PATH для Homebrew?

Мне просто нужно было перезапустить терминал. Тем не менее, я не уверен, что делать с Python.

Мы ценим любые предложения. благодаря

Чтобы решить обе проблемы: отредактируйте файл ~/.bash_profile

/usr/bin occurs before /usr/local/bin :

Это предупреждение сообщает вам, что $PATH окружения $PATH перечисляет /usr/bin как более высокий приоритет, чем /usr/local/bin , который, как я полагаю, является местом по умолчанию, в котором устанавливаются пакеты home brew.

Если вы проигнорируете это, это означает, что если вы устанавливаете или обновляете программу с помощью «домашнего пивоварения» после того, как уже установлена ​​эта программа (без использования «домашнего варева») в другое место, оболочка может вызывать команды с использованием старой копии и а не более новая версия «домашнего пива».

Переменная $PATH пожалуй, самая важная из переменных среды Unix Shell (вы можете ввести env для отображения переменных среды в оболочке), поскольку она определяет порядок каталогов, в которых компьютер будет искать при поиске программ для выполнения. Сначала указываются имена путей с наивысшим приоритетом.

Вы можете просмотреть содержимое своего ~/.bash_profile , введя в Terminal.app:

 $ cat ~/.bash_profile 

Помните: не вводите $, это просто указывает на приглашение терминала.

Он должен распечатать что-то вроде этого:

 # Setting PATH for EPD_free-7.3-2 # The original version is saved in .bash_profile.pysave PATH="/Library/Frameworks/Python.framework/Versions/Current/bin:${PATH}" export PATH 

Обратите внимание, что комментарий Enthought указывает, что они сохранили исходный файл ~/.bash_profile в копии с именем .bash_profile.pysave в том же каталоге ( $HOME ). Если вы хотите, вы можете просмотреть этот файл, проверьте его с помощью cat или текстового редактора. Если вы решите вернуться к нему, вы можете сделать это, удалив файл ~/.bash_profile и переименовав .bash_profile.pysave в .bash_profile . (Это не было для меня вариантом, поскольку в прошлом я должен был установить дистрибутив Enthought во второй раз (возможно, сам по себе), поэтому мой .bash_profile.pysave прежнему содержал конфигурации Enthought и мой файл ~/.bash_profile. две копии конфигураций Enthought.)

Это дистрибутив Enthought, устанавливающий $PATH envity $PATH в ${PATH} . Чтобы показать, что имеет переменная ${PATH} , можно ввести echo $PATH в оболочку. Он должен показать, что собственные каталоги Enthought имеют первый приоритет (потому что они на первом месте):

 $ echo $PATH /Library/Frameworks/Python.framework/Versions/Current/bin:/Library/Frameworks/Python.framework/Versions/Current/bin:/usr/local/bin:/usr/local/sbin:~/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/texbin 

Если вы внимательно посмотрите на приведенный выше пример, вы увидите, что /usr/local/bin происходит дважды в списке (!) , Один раз в третьей позиции и один раз во второй-последней позиции. /usr/bin происходит между ними, но парсер для brew doctor обнаруживает проблему (это может быть ошибка brew doctor пивовара, которая проверяет только трейлинг /usr/local/bin , но почти наверняка появляется ошибка Enthought, потому что они оставил мое определение $PATH с двумя /usr/local/bin . Если вы не видите /usr/local/bin/ two, то это может быть потому, что я, возможно, дважды установил Enthought на моем конце. ) ,

Таким образом, несмотря на то, что на самом деле проблема не может быть проблемой, brew doctor прежнему считает, что это так, и нам также нужно избавиться от каталогов Enthought, которые имеют наивысший приоритет, потому что эти записи могут мешать, если мы хотим приобрести другое распределение Python в будущее с использованием «домашнего варева».

Оболочка будет искать эти места в $PATH в порядке слева и справа для выполнения команд и т. Д. Помните, что пути разделены двоеточиями (:) и перечислены в порядке убывания слева направо, с наивысшим приоритетом.

Метод 1 – («Быстрая и простая» версия):

A) Переопределите $PATH , вставьте эту команду в Terminal:

 $ echo 'export PATH="/usr/local/bin:/usr/local/sbin:~/bin:$PATH"' >> ~/.bash_profile 

(Это добавит (оператор >> ) эхо-строку в конец файла ~/.bash_profile . Если вы используете эту команду, вам все равно придется отредактировать файл ~ / .bash_profile, чтобы удалить материал Enthought позже)

Нажмите здесь и прокрутите страницу до пункта 3 для получения дополнительной информации об этой конкретной команде.

Или вы можете cd в каталог $HOME и добавить строку в приведенной выше команде в свой .bash_profile вручную, как показано ниже для удаления конфигураций Enthought.

B) Чтобы отключить распространение Enthought Python, отредактируйте файл ~ / .bash_profile:

Перейдите в свой домашний каталог:

 $ cd $HOME 

Чтобы отредактировать файл, например, TextEdit:

 $ open -a "TextEdit" .bash_profile 

Найдите эти две строки:

 PATH="/Library/Frameworks/Python.framework/Versions/Current/bin:${PATH}" export PATH 

И прокомментируйте их, поставив # перед каждой строкой. Затем сохраните файл.

(Если вы планируете снова не использовать распространение Enthought, вы можете удалить эти строки и другие комментарии, а не комментировать их)

Способ 2 – отредактируйте файл (и решите обе проблемы) с помощью текстового редактора

(Ниже объяснения подразумевается незнание с редактором vim)

 $ vim ~/.bash_profile 

Если у вас нет прав на запись, вам может быть запрещено изменять файл ~/.bash_profile . Если это так, выйдите из vim ( ESC , затем введите :q ) и перейдите к суперпользователю, добавив вышеупомянутую команду vim с помощью sudo и пробела. Вы можете выйти из sudo ('super user do') позже, набрав exit один раз в оболочке.

Когда vim сначала открывается, вам предоставляется командный режим, в котором типизация вообще не будет изменять содержимое файла, но добавляет команды в приглашение внизу окна (например :q to quit или :w для записи (Сохранить изменения).

В vim вы можете перемещаться с помощью клавиш со стрелками (или клавиш H , J , K , L ). После того, как вы разместите строку для редактирования, нажмите клавишу I чтобы войти в режим -INSERT- и начните вставлять символы перед курсором (нажатие клавиши A в командном режиме также завершит командный режим, но начнет вставлять текст после курсора).

Если вы считаете, что можете использовать распространение Enthought в будущем, вы можете прокомментировать все строки, поместив # в начале каждой строки, например:

 # Setting PATH for EPD_free-7.3-2 # The original version is saved in .bash_profile.pysave # PATH="/Library/Frameworks/Python.framework/Versions/Current/bin:${PATH}" # export PATH # export PATH="/usr/local/bin:/usr/local/sbin:~/bin:$PATH" 

Если вы не планируете использовать дистрибутив Enthought или вы его уже удалили, просто удалите все вышеперечисленные строки из файла ~ / .bash_profile.

Чтобы объявить новое определение переменной среды PATH, добавьте следующую строку:

 export PATH="/usr/local/bin:/usr/local/sbin:~/bin:$PATH" 

Когда вы закончите редактирование файла, нажмите ESC чтобы выйти -INSERT- режима -INSERT- и вернуться в режим команд. затем введите :wq чтобы записать изменения и выйти из редактора vim. Затем вы вернетесь в оболочку.

Чтобы закончить, отправьте вновь сохраненный ~/.bash_profile , введя:

 $ source .bash_profile 

Если вы только прокомментировали строки Enthought, вы сможете вернуться в свой .bash_profile и снова включить распространение Enthought, раскомментируя эти две строки.

Теперь запустите brew doctor и вам должно быть хорошо идти. Если он не запускается без предупреждений, убейте терминал и откройте его снова и повторите попытку.

Запуск echo $PATH теперь должен показывать:

 /usr/local/bin:/usr/local/sbin:~/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/texbin 

Если вам это не понадобится, я удалю версию Enthoughtth Python.