Установка Python на FreeBSD 8.1 - PullRequest
1 голос
/ 16 января 2012

Итак, я установил python на мою коробку FreeBSD с этими коммансами:

#portsnap fetch

#portsnap extract

#portsnap update

#cd /usr/ports/lang/python32

#make install clean

Все работало, и я не получил сообщений об ошибках. Установка прошла гладко. Однако, когда я набираю python в shell, я получаю:

python: Command not found.

Помощь

Ответы [ 4 ]

6 голосов
/ 14 февраля 2015

Я знаю, что это старый пост, но он еще не полностью отвечен.

Команда в принятом ответе от Геттли вернет что-то вроде этого:

$ find /usr/bin /bin/ /usr/local/bin -iname 'python*'
/usr/local/bin/python2.7
/usr/local/bin/python2.7-config
/usr/local/bin/python3.6m-config
/usr/local/bin/python3.6
/usr/local/bin/python3.6-config
/usr/local/bin/python3.6m

Это означает, что для входа в оболочку python вам нужно набрать "python3.6".

Чтобы использовать только "python", вы можете создать символическую ссылку:

ln -s /usr/local/bin/python3.6 /usr/local/bin/python

Если у вас нет прав на создание символической ссылки (или вы просто не хотите этого), вы также можете создать псевдоним, отредактировав по умолчанию файл оболочки для вашего пользователя, например,. ~ / .tcshrc, добавив следующую строку:

echo 'alias python python3.6' >> ~/.tcshrc

Псевдоним не будет автоматически работать в текущем сеансе, пока вы не перейдете в оболочку или не перезагрузите изменения в .tcshrc:

source ~/.tcshrc

При редактировании dotfile псевдоним станет постоянным.
Чтобы создать только временный псевдоним для текущего сеанса, вы можете установить псевдоним непосредственно в оболочке:

alias python python3.6

Временный псевдоним исчезнет, ​​как только вы выйдете из системы, но в текущем сеансе его можно будет «не использовать»:

unalias python
4 голосов
/ 16 января 2012

Вы можете найти его:

find /usr/bin /bin/ /usr/local/bin -iname 'python*'
1 голос
/ 12 июля 2018

Хм, но .bashrc - неправильный выбор, потому что проблема остается .. см. Страницу руководства bash (1)

Когда запускается интерактивная оболочка, которая не является оболочкой входа , bash читает и выполняет команды из ~ / .bashrc, если этот файл существует.

и ..

Не читать и не выполнять личный файл инициализации ~ / .bashrc, если оболочка является интерактивной. Эта опция включена по умолчанию , если оболочка вызывается как sh.

Лучшее решение?

echo 'alias python=python2.7' >>~/.bash_profile

Обновление: реальное решение в соответствии с примечаниями к выпуску FreeBSD

pkg install lang/python

which python /usr/local/bin/python

1 голос
/ 01 февраля 2012

Что если вы введете полный путь (/ usr / local / bin / python)?Вы, вероятно, забыли напечатать "rehash".Ваша оболочка должна пересобрать кеш программ, доступных в вашем PATH.

...