Ich versuche, das flake8-Paket mit pip3 zu installieren, und es scheint, dass es die Installation ablehnt, da es bereits an einem lokalen Ort installiert ist.
Wie kann ich die globale Installation erzwingen (Systemebene)?
pip3 install flake8
Requirement already satisfied (use --upgrade to upgrade): flake8 in ./.local/lib/python3.4/site-packages
Bitte beachten Sie, dass ich eine generische Lösung bevorzugen würde (die unter Debian, OS X oder sogar Windows funktionieren sollte), die auf jeder Plattform verwendet werden sollte, damit ich das Ziel nicht selbst angeben möchte.
Aus irgendeinem seltsamen Grund verhält es sich so, als hätte ich bereits angegeben, --user
was ich in meinem Fall nicht getan habe.
Die einzige Möglichkeit, ein Paket global zu installieren, bestand darin, es zuerst zu entfernen und danach erneut zu installieren. Irgendwie scheint es, dass pip (8.1.1) sich weigert, ein Paket global zu installieren, wenn es lokal existiert.
Haftungsausschluss: Während der Experimente wurden keine virtuellen Umgebungen verwendet oder beschädigt.
pip install flake8 --upgrade
?--system-site-packages
Option, um global installierte Pakete in Ihr venv zu erben. Siehe stackoverflow.com/a/61326709/4445175Antworten:
Warum versuchst du es nicht
sudo
mit derH
Flagge? Dies sollte den Trick tun.Ein Stammgast
sudo pip install flake8
wird versuchen, Ihr eigenes Home-Verzeichnis zu verwenden. Der-H
weist es an, das Home-Verzeichnis des Systems zu verwenden. Weitere Informationen unter https://stackoverflow.com/a/43623102/quelle
H
wie in Hlobal?-H
Wie in Hey Sudo, hör auf, mein Home-Verzeichnis zu benutzen. Verwenden SieH
stattdessen Ihr eigenes Ome-Verzeichnis. stackoverflow.com/a/43623102pip3 install ipython
wenn virtualenv deaktiviert ist, sie scheinen in demselbensite-packages
Verzeichnis zu installieren .Vielleicht
--force-reinstall
würde es funktionieren, sonst--ignore-installed
sollte es den Trick machen.quelle
Benutzt du
virtualenv
? Wenn ja, deaktivieren Sie die virtuelle Umgebung. Wenn Sie nicht verwenden, ist es bereits weit verbreitet (Systemebene). Versuchen Sie, das Paket zu aktualisieren.quelle
Ich sehe Ihr Problem eigentlich nicht. Global ist jedes Paket, das sich im Site-Paketordner Ihres Python3-Pfads befindet.
Wenn Sie es nur lokal verwenden möchten, müssen Sie eine virtuelle Umgebung konfigurieren und die Pakete mit einer aktivierten virtuellen Umgebung neu installieren.
quelle
--system-site-packages .venv/dev
globale Pakete erben, damit Sie sie nicht in jedem Venv neu installieren müssen. Dies ist sinnvoll für Pakete, die in jedem Projekt verwendet werden sollen, z. B. schwarz, flake8, pytest. Beispiel:python -m venv --system-site-packages .venv/dev
Ich werde eine Windows-Lösung geben, mit der ich konfrontiert war und deren Lösung eine Weile gedauert hat.
In Windows (ich nehme hier Windows als Betriebssystem)
pip install <package_name>
wird es zunächst standardmäßig global installiert ( wenn Sie keine virtuelle Umgebung aktiviert haben ). Sobald Sie eine virtuelle Umgebung aktivieren und sich darin befinden, befinden sich alle Pip-Installationen in dieser virtuellen Umgebung.Für diese pip möglicherweise eine Warnung gebe, die pip Executables mögen
pip3.exe
,pip.exe
sind nicht auf dem Weg variabel. Dazu können Sie diesen Pfad (normalerweise -C:\Users\<your_username>\AppData\Roaming\Programs\Python\
) zu Ihren Umgebungsvariablen hinzufügen . Starten Sie danach Ihr neucmd
und versuchen Sie nun, Ihr installiertes Python-Paket zu verwenden. Es sollte jetzt funktionieren.quelle