Я пытаюсь установить пакет 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) отказывается устанавливать пакет глобально, если он существует локально.
Отказ от ответственности: во время экспериментов виртуальные среды не использовались и не пострадали.
pip install flake8 --upgrade
?--system-site-packages
опцию для наследования глобально установленных пакетов в ваш venv. См. Stackoverflow.com/a/61326709/4445175Ответы:
Почему бы тебе не попробовать
sudo
сH
флагом? Это должно помочь.Обычный
sudo pip install flake8
будет пытаться использовать ваш собственный домашний каталог. Дает-H
указание использовать домашний каталог системы. Больше информации на https://stackoverflow.com/a/43623102/источник
H
как в Глобал?-H
как в « Эй, судо», перестань использовать мой домашний каталог. используйтеH
вместо этого свой собственный каталогpip3 install ipython
деактивации virtualenv, похоже, они устанавливаются в тот жеsite-packages
каталог.Может быть
--force-reinstall
, сработает, иначе--ignore-installed
должно сработать .источник
Вы пользуетесь
virtualenv
? Если да, отключите файл virtualenv. Если вы не используете, он уже широко установлен (системный уровень). Попробуйте обновить пакет.источник
На самом деле я не вижу вашей проблемы. Глобально - это любой пакет, который находится в папке пакетов сайта вашего пути python3.
Если вы хотите использовать его только локально, вам необходимо настроить virtualenv и переустановить пакеты с активированной виртуальной средой.
источник
--system-site-packages .venv/dev
наследовать глобальные пакеты, поэтому вам не нужно переустанавливать их в каждом venv. Это имеет смысл для пакетов, которые можно использовать в любом проекте, например, black, flake8, pytest. Пример:python -m venv --system-site-packages .venv/dev
Я дам решение для Windows, с которым я столкнулся, и на его решение ушло время.
Прежде всего, в Windows (здесь я буду использовать Windows в качестве ОС), если вы это сделаете
pip install <package_name>
, она будет по умолчанию установлена глобально ( если вы не активировали виртуальную среду ). Как только вы активируете виртуальную среду и окажетесь внутри нее, все установки pip будут внутри этой виртуальной среды.Поскольку этот пип может выдавать вам предупреждение о том, что исполняемые файлы пипса, такие как
pip3.exe
,pip.exe
не находятся в вашей переменной пути. Для этого вы можете добавить этот путь (обычно -C:\Users\<your_username>\AppData\Roaming\Programs\Python\
) к вашим переменным окружения . После этого перезапустите вашcmd
, а теперь попробуйте использовать установленный пакет python. Теперь он должен работать.источник