#bash
#bash
Вопрос:
В Ubuntu 9.10 у меня есть скрипт bash, который устанавливает различные библиотеки Python с использованием pip
. Pip устанавливается ранее с помощью apt-get install python-pip
, но при этом устанавливается старая версия pip
, и мне нужна более новая версия, поддерживающая эту --use-mirrors
опцию. Следующие команды
pip install --upgrade pip
source ~/.bash_profile # also tried source ~/.bashrc and source /etc/profile
pip install --use-mirrors MySQL-python
сбой с этой ошибкой, когда я помещаю их в свой скрипт bash:
Usage: /usr/bin/pip install [OPTIONS] PACKAGE_NAMES...
/usr/bin/pip install: error: no such option: --use-mirrors
Могу ли я заставить pip install --use-mirrors MySQL-python
команду видеть и использовать новую версию pip
, которую я обновляю до двух строк ранее?
Редактировать: мой файл .bash_profile содержит:
PATH=$PATH:$HOME/bin
export PATH
unset USERNAME
Ответ №1:
Мы не можем сказать вам, что будет делать этот код, если вы не покажете нам файл, который вы используете. Что вы ожидаете от вашего bash_profile для вас?
Вам нужно выяснить, где устанавливается обновленная версия pip, и какой у вас путь установлен до и после получения вашей конфигурации bash. Попробуйте разбрызгивать такие вещи, как echo $PATH
и which pip
в стратегических точках вашего скрипта:
pip install --upgrade pip
echo $PATH
which pip
source ~/.bash_profile # also tried source ~/.bashrc and source /etc/profile
echo $PATH
which pip
pip install --use-mirrors MySQL-python
Надеюсь, это даст вам подсказку о том, что происходит не так.
Ответ №2:
Добавление echo $PATH
и which pip
по совету Райана показало, что более ранняя версия pip из apt-get устанавливалась /usr/bin
, в то время как устанавливался обновленный pip /usr/local/bin
, который не был на ПУТИ, который экспортировался в .bash_profile или .bashrc . Мне нужно было добавить /usr/local/bin
в PATH:
pip install --upgrade pip
export PATH="/usr/local/bin:/usr/local/sbin:$PATH"
pip install --use-mirrors MySQL-python