conda 4.2.13 MacOSX 10.12.1
Ich versuche, Pakete von pip
einer neuen Umgebung (virtuell) zu installieren, die mit anaconda erstellt wurde. In den Anaconda-Dokumenten heißt es, dass dies vollkommen in Ordnung ist. Dies geschieht genauso wie bei virtualenv.
Aktivieren Sie die Umgebung, in der Sie das Programm ablegen möchten, und installieren Sie dann ein Programm ...
Ich habe in Ananconda eine leere Umgebung wie folgt erstellt:
conda create -n shrink_venv
Aktiviere es:
source activate shrink_venv
Ich kann dann im Terminal sehen, dass ich in meiner Umgebung arbeite (shrink_venv)
. Das Problem tritt auf, wenn ich versuche, ein Paket zu installieren, indem ich pip
:
(shrink_venv): pip install Pillow
Requirement already satisfied (use --upgrade to upgrade): Pillow in /Library/Python/2.7/site-packages
Ich kann also sehen, dass die Anforderung des systemweiten Pakets erfüllt ist. Es scheint also, dass die Umgebung nicht richtig funktioniert, definitiv nicht wie in den Dokumenten angegeben. Mache ich hier etwas falsch
Nur eine Anmerkung, ich weiß, dass Sie sie conda install
für die Pakete verwenden können, aber ich hatte ein Problem mit Pillow von anaconda, also wollte ich es von bekommen pip
, und da die Dokumente sagen, dass das in Ordnung ist.
Ausgabe von which -a pip
:
/usr/local/bin/pip
/Users/my_user/anaconda/bin/pip
** UPDATE ** Ich sehe, dass dies ein ziemlich häufiges Problem ist. Was ich gefunden habe ist, dass die conda env nicht gut mit dem PYTHONPATH spielt. Das System scheint immer in den PYTHONPATH-Positionen zu suchen, selbst wenn Sie eine Conda-Umgebung verwenden. Jetzt laufe ich immer, unset PYTHONPATH
wenn ich eine Conda-Umgebung benutze, und es funktioniert viel besser. Ich bin auf einem Mac.
quelle
conda install pip
?which -a pip
bitte die Ausgabe von zu Ihrer Frage hinzufügen ?PYTHONPATH
Umgebungsvariable festgelegt?Antworten:
Für andere, die in diese Situation geraten, war dies die einfachste Lösung:
Führen Sie
conda create -n venv_name
undsource activate venv_name
, wovenv_name
ist der Name Ihrer virtuellen Umgebung.Ausführen
conda install pip
. Dadurch wird pip in Ihrem venv-Verzeichnis installiert.Suchen Sie Ihr Anaconda-Verzeichnis und den tatsächlichen venv-Ordner. Es sollte irgendwo so sein
/anaconda/envs/venv_name/
.Installieren Sie dabei neue Pakete
/anaconda/envs/venv_name/bin/pip install package_name
.Dies sollte nun erfolgreich Pakete mit dem Pip dieser virtuellen Umgebung installieren!
quelle
bin
Ordner geändert? Ich sehe es nicht mehr imvenv_name
Ordner?bin
noch am selben Ort befindet.pip
von Ihrem Conda env (ob es die Umwelt oder nicht ist), und das Paket installieren , dass Sie die Verwendung wollenpip
ausführbare im Conda Ordner (meinem Fall:AppData\Local\Continuum\anaconda3\Scripts
)Alles was Sie tun müssen, ist Anaconda Prompt zu öffnen und einzugeben
Es wird automatisch in der Anaconda-Umgebung installiert, ohne dass es verwendet werden muss
Da einige der Conda-Pakete möglicherweise keine Unterstützung für Überstunden bieten, muss sie mit pip installiert werden. Dies ist eine Möglichkeit, dies zu tun
Wenn Sie pip in anaconda installiert haben, können Sie Folgendes in jupyter notebook oder in Ihrer Python-Shell ausführen, die mit anaconda verknüpft ist
Überprüfen Sie Ihre Version von pip mit
pip.__version__
. Wenn es sich um eine Version10.x.x
oder höher handelt, installieren Sie Ihr Python-Paket mit dieser CodezeileIn Ihrem Jupyter-Notizbuch können Sie Python-Pakete auf diese Weise über pip in einer Zelle installieren.
oder Sie könnten Ihre Python-Version verwenden, die mit Anaconda verbunden ist
quelle
conda install pip
in der Umgebung ausgeführt werden, um sicherzustellen, dass Sie eine lokale Version von pip verwenden.Ich habe dieses Problem folgendermaßen gelöst:
Wenn Sie einen Nicht-Conda-Pip als Standard-Pip haben, aber Conda-Python Ihr Standard-Python ist (wie unten)
Anstatt nur aufzurufen
pip install <package>
, können Sie das Modul-Flag-m
mit Python verwenden, sodass es die Anaconda-Python für die Installation verwendetDadurch wird das Paket im Anaconda-Bibliotheksverzeichnis und nicht im Bibliotheksverzeichnis installiert, das dem (Nicht-Anaconda-) Pip zugeordnet ist
quelle
Wenn Sie beim Erstellen einer Conda-Umgebung kein Pip hinzugefügt haben
und installierte Pip auch nicht in der Umgebung
Dann ist der einzige Pip, den Sie haben, der System-Pip, der Pakete global installiert.
Bus, wie Sie in dieser Ausgabe sehen können , selbst wenn Sie eines der oben genannten Verfahren ausgeführt haben, ist das Verhalten von Pip in der Conda-Umgebung immer noch undefiniert.
Um sicherzustellen, dass der in der Conda-Umgebung installierte Pip verwendet wird, ohne den langen eingeben zu müssen
/home/username/anaconda/envs/env_name/bin/pip
, habe ich eine Shell-Funktion geschrieben:Hoffe das ist hilfreich für dich.
quelle
Das hat bei mir funktioniert (siehe Bild verlinkt)
Zum späteren Nachschlagen finden Sie den Ordner, in den Ihre Pakete heruntergeladen werden, wenn Sie eine Anforderung bereits erfüllt haben. Sie können es sehen, wenn Sie im Terminal nach oben scrollen. Es sollte so etwas lauten wie: Anforderung bereits erfüllt und dann der Weg
[ ]
quelle
Für diejenigen, die eine kleine Anzahl von Paketen in Conda mit Pip installieren möchten, verwenden Sie dann:
arbeitete für mich.
Erklärung
Es scheint mir jedenfalls
which pip
sehr zuverlässig zu sein, um den Pfad zu finden, an dem Sie sich befinden. Bei Verwendungsudo
scheint dies jedoch Pfade umzuleiten oder dies auf andere Weise zu unterbrechen.Die Verwendung von
$(which pip)
führt dies unabhängig von densudo
oder einem der Befehle aus und ähnelt der Ausführung/home/<username>/(mini)conda(3)/envs/<env_name>/pip
unter Linux. Dies liegt daran,$()
dass die Textausgabe separat ausgeführt und dem äußeren Befehl hinzugefügt wird.quelle
Alle obigen Antworten basieren hauptsächlich auf der Verwendung von virtualenv. Ich habe gerade eine Neuinstallation von anaconda3 und keine virtuelle Umgebung installiert. Ich habe also eine bessere Alternative dazu gefunden, ohne mich über die Erstellung von virtualenv zu wundern.
Wenn Sie viele Pip- und Python-Versionen unter Linux installiert haben, führen Sie zuerst den folgenden Befehl aus, um alle installierten Pip-Pfade aufzulisten.
Sie erhalten so etwas als Ausgabe.
Kopieren Sie den Pfad von pip, den Sie zum Installieren Ihres Pakets verwenden möchten, und fügen Sie ihn nach dem Ersetzen von sudo
/home/prabhakar/anaconda3/bin/pip
in den folgenden Befehl ein.Das hat bei mir ziemlich gut funktioniert. Wenn Sie Probleme bei der Installation haben, kommentieren Sie bitte.
quelle
Wenn Sie ein Windows-Betriebssystem verwenden, öffnen Sie die Anaconda-Eingabeaufforderung und geben Sie ein
activate yourenvname
Und wenn Sie ein Mac- oder Linux-Betriebssystem verwenden, öffnen Sie Terminal und geben Sie ein
source activate yourenvname
yourenvname
Hier ist Ihre gewünschte Umgebung, in der Sie das Pip-Paket installieren möchtenNachdem Sie den obigen Befehl
base
eingegeben haben, müssen Sie sehen, dass Ihr Umgebungsnameyourenvname
in der Konsolenausgabe von in Ihre eingegebene Umgebung geändert wird (was bedeutet, dass Sie sich jetzt in Ihrem gewünschten Umgebungskontext befinden).Dann brauchen Sie nur noch einen normalen
pip install
Befehl, zpip install yourpackage
Auf diese Weise wird das Pip-Paket in Ihrer Conda-Umgebung installiert
quelle
python -m pip install Pillow
Verwendet Pip von aktuellem Python, das mit aktiviert ist
source activate shrink_venv
quelle
Hängt davon ab, wie Sie Ihre Umgebungsvariable PATH konfiguriert haben. Wenn Ihre Shell den Aufruf von pip auflöst, welches ist der erste Bin, den sie findet?
Stellen Sie sicher, dass sich der Ordner bin aus Ihrer Anaconda-Installation vor / usr / lib befindet (abhängig davon, wie Sie pip installiert haben). Also ein Beispiel:
Wir können sehen, dass das djangorestframework in meiner Testumgebung installiert wurde, aber wenn ich meine Basis überprüfe:
Es ist leer.
Persönlich möchte ich meine gesamte PATH-Konfiguration mit .pam_environment abwickeln , hier ein Beispiel:
Sie sollten Folgendes verwenden: conda install pip -> Neue Pakete, die mit pip installiert wurden, werden zur conda-Liste hinzugefügt.
Sie sollten NICHT verwenden: sudo apt install python3-pip -> Neue Pakete werden nicht zur Conda-Liste hinzugefügt (werden also nicht von Conda verwaltet), aber Sie können sie weiterhin verwenden (Konfliktgefahr).
quelle
/usr/lib
wenn er beim Ausführen vor meinem Anaconda-Bin-Ordner liegtwhereis pip
?sudo apt remove python3-pip
, pip aus Ihrer Linux-Distribution zu entfernen und dann in der von Ihnen verwendeten Conda-Umgebung :conda install -c anaconda pip
.Ich hatte ein Problem bei der Installation eines Nicht-Conda-Pakets auf Anaconda. Ich folgte der beliebtesten Antwort hier und es lief nicht gut (möglicherweise, weil sich meine Anaconda im F-Verzeichnis befindet und env in C erstellt wurde und bin-Ordner nicht erstellt wurde. Ich habe keine Ahnung, aber es hat nicht funktioniert.
Laut anaconda ist pip bereits installiert (was mit dem Befehl "
conda list
" an der anaconda-Eingabeaufforderung gefunden wird), aber pip-Pakete wurden nicht installiert. Also hier ist, was ich getan habe, ich habe pip erneut installiert und dann hat pip das Paket installiert.see
ist ein Nicht-Conda-Paket.quelle
Nun, ich habe alle oben genannten Methoden ausprobiert. Keiner hat für mich gearbeitet. Folgendes hat bei mir funktioniert:
quelle
Wenn Sie NUR eine Conda-Installation wünschen. Entfernen Sie einfach alle anderen Python-Pfade aus Ihrer PATH-Variablen.
Nur verlassen:
Dies ermöglicht es Ihnen, nur zu verwenden
pip install *
und es wird direkt in Ihre Conda-Installation installiert.quelle
Ich
activate shrink_venv
werde es auch tun. Ich habe versucht, eine neue Umgebung zu erstellen, und meine Conda-Installation erlaubt mir zu Beginn nicht, die Quelle zu verwenden.quelle
source
am Anfang nicht, wenn Sie unter Windows sind