Как установить пакет pip во всем мире вместо локального?
Я пытаюсь установить пакет flake8 с помощью pip3, и кажется, что он отказывается устанавливать, потому что он уже установлен в одном локальном расположении.
Как я могу заставить его установить глобально (системный уровень)?
pip3 install flake8
Requirement already satisfied (use --upgrade to upgrade): flake8 in ./.local/lib/python3.4/site-packages
Обратите внимание, что я предпочел бы общее решение (которое должно работать на Debian, OS X, возможно, даже на Windows), которое должно использоваться на любой платформе, поэтому я не хочу сам указывать назначение.
По какой-то странной причине он ведет себя, как я уже указал --user
, который в моем случае я этого не делал.
Единственный способ, которым я смог установить пакет по всему миру, - это сначала удалить его и установить его после этого. Как-то кажется, что pip (8.1.1) отказывается устанавливать пакет глобально, если он существует локально.
Отказ от ответственности: во время экспериментов виртуальные среды не использовались и не пострадали.
Ответы
Ответ 1
Почему бы вам не попробовать sudo
с флагом H
? Это должно сработать.
sudo -H pip install flake8
Обычный sudo pip install flake8
попытается использовать свой домашний каталог. -H
инструктирует его использовать системный домашний каталог. Больше информации на fooobar.com/questions/724033/...
Ответ 2
Вы используете virtualenv
? Если да, отключите virtualenv. Если вы не используете, он уже широко установлен (системный уровень). Попробуйте обновить пакет.
pip install flake8 --upgrade
Ответ 3
Может быть, --force-reinstall
будет работать, иначе --ignore-installed
должен сделать трюк.
Ответ 4
Я на самом деле не вижу твоей проблемы. Глобально - это любой пакет, который находится в папке пакета сайта вашего пути python3.
Если вы хотите использовать его только локально, вам необходимо настроить virtualenv и переустановить пакеты с активированной виртуальной средой.