Próbuję zainstalować pakiet flake8 za pomocą pip3 i wygląda na to, że odmawia instalacji, ponieważ jest już zainstalowany w jednej lokalnej lokalizacji.
Jak mogę wymusić globalną instalację (na poziomie systemu)?
pip3 install flake8
Requirement already satisfied (use --upgrade to upgrade): flake8 in ./.local/lib/python3.4/site-packages
Zauważ, że wolałbym rozwiązanie ogólne (które powinno działać na Debianie, OS X może nawet Windows), takie, które powinno być używane na dowolnej platformie, więc nie chcę sam określać miejsca docelowego.
Z jakiegoś dziwnego powodu zachowuje się tak, jak już określiłem, --user
czego w moim przypadku nie zrobiłem.
Jedynym sposobem, w jaki mogłem zainstalować pakiet globalnie, było najpierw jego usunięcie, a następnie ponowne zainstalowanie. W jakiś sposób wygląda na to, że pip (8.1.1) odmawia globalnej instalacji pakietu, jeśli istnieje on lokalnie.
Zastrzeżenie: żadne środowisko wirtualne nie zostało użyte ani uszkodzone podczas eksperymentów.
pip install flake8 --upgrade
?--system-site-packages
opcji dziedziczenia globalnie zainstalowanych pakietów do swojego venv. Zobacz stackoverflow.com/a/61326709/4445175Odpowiedzi:
Dlaczego nie spróbujesz
sudo
zH
flagą? To powinno załatwić sprawę.Zwykły
sudo pip install flake8
spróbuje użyć twojego własnego katalogu domowego.-H
Instruuje go użyć katalogu domowego systemu. Więcej informacji na https://stackoverflow.com/a/43623102/źródło
H
jak w Hlobal?-H
jak w hej sudo, przestań używać mojego katalogu domowego. użyć własnegoH
katalogu ome zamiast stackoverflow.com/a/43623102pip3 install ipython
dezaktywacji virtualenv, wydaje się, że instalują się w tym samymsite-packages
katalogu.Może
--force-reinstall
by zadziałało, w przeciwnym razie--ignore-installed
powinno załatwić sprawę.źródło
Czy używasz
virtualenv
? Jeśli tak, dezaktywuj virtualenv. Jeśli nie używasz, jest już szeroko zainstalowany (na poziomie systemu). Spróbuj zaktualizować pakiet.źródło
Właściwie nie widzę twojego problemu. Globalnie to każdy pakiet, który znajduje się w folderze pakietu witryny ścieżki python3.
Jeśli chcesz używać go tylko lokalnie, musisz skonfigurować virtualenv i ponownie zainstalować pakiety z aktywowanym środowiskiem wirtualnym.
źródło
--system-site-packages .venv/dev
dziedziczyć pakiety globalne, aby nie trzeba było ich ponownie instalować w każdym pliku venv. Ma to sens w przypadku pakietów, których można chcieć użyć w dowolnym projekcie, tj. Black, flake8, pytest. Przykład:python -m venv --system-site-packages .venv/dev
Podam rozwiązanie dla okien, przed którym stanąłem i zajęło trochę czasu, aby rozwiązać.
Przede wszystkim w systemie Windows ( jako system operacyjny wezmę system Windows ), jeśli to zrobisz
pip install <package_name>
, zostanie on domyślnie zainstalowany globalnie ( jeśli nie aktywowałeś środowiska wirtualnego ). Gdy aktywujesz wirtualne środowisko i znajdziesz się w nim, wszystkie instalacje pip będą w tym wirtualnym środowisku.W tym przypadku pip może dawać ostrzeżenie, że pliki wykonywalne pip, takie jak
pip3.exe
,pip.exe
nie znajdują się w zmiennej ścieżki. W tym celu możesz dodać tę ścieżkę (zwykle -C:\Users\<your_username>\AppData\Roaming\Programs\Python\
) do zmiennych środowiskowych . Po tym zrestartuj swójcmd
, a teraz spróbuj użyć zainstalowanego pakietu Pythona. Teraz powinno działać.źródło