Conda: Installation / Upgrade direkt von Github

111

Kann ich Pakete von GitHub mit conda installieren / aktualisieren ?

Zum Beispiel pipkann ich mit:

pip install git+git://github.com/scrappy/scrappy@master

scrappydirekt von der masterVerzweigung in GitHub zu installieren . Kann ich etwas gleichwertiges mit conda machen?

Wenn dies nicht möglich ist, wäre es sinnvoll, pip mit conda zu installieren und solche lokalen Installationen mit pip zu verwalten?

Amelio Vazquez-Reina
quelle

Antworten:

74

Es gibt jetzt eine bessere Unterstützung dafür conda-env. Sie können jetzt zum Beispiel Folgendes tun:

name: sample_env
channels:
dependencies:
   - requests
   - bokeh>=0.10.0
   - pip:
     - "--editable=git+https://github.com/pythonforfacebook/facebook-sdk.git@8c0d34291aaafec00e02eaa71cc2a242790a0fcc#egg=facebook_sdk-master"

Es wird immer noch pip under the cover aufgerufen, aber Sie können jetzt Ihre Conda- und Pip-Paketspezifikationen in einer einzigen environment.ymlDatei vereinheitlichen .

Wenn Sie Ihre Root-Umgebung mit dieser Datei aktualisieren möchten, müssen Sie diese in einer Datei speichern (z. B. environment.yml) und dann den folgenden Befehl ausführen : conda env update -f environment.yml.

Es ist wahrscheinlicher, dass Sie eine neue Umgebung erstellen möchten:

conda env create -f environment.yml (geändert wie in den Kommentaren angenommen)

Aron Ahmadia
quelle
Wie installieren Sie die Anforderungen aus dieser Umgebung in Ihrer Root-Umgebung?
Kochfelder
@hobs - Ich habe die Antwort bearbeitet, um Ihre Frage zu beantworten.
Aron Ahmadia
1
Es ist eigentlich conda env create -f environment.ymlmit conda createder -fFlagge steht für --force.
Perfi
1
Ist es irgendwo dokumentiert?
Guilhermecgs
1
@Perfi, mein Fehler Ich dachte, Sie schlagen vor, dass die -fin conda env createBezug genommen Kraft, und nicht für conda create, mein Fehler, nicht sorgfältig zu lesen.
Will
102

Die Antworten sind veraltet. Sie müssen nur Cond und Git installieren. Dann können Sie pip normal verwenden:

  1. Aktivieren Sie Ihre Conda-Umgebung source activate myenv

  2. conda install git pip

  3. pip install git+git://github.com/scrappy/scrappy@master

Gabriel Fair
quelle
4
Darüber hinaus müssen Sie den Pip verwenden, der sich in Ihrer Umgebung befindet, wie in meinem Fall der von mir verwendete Pip "/ home / ubuntu / anaconda3 / envs / tensorflow_p36 / bin / pip". Dieser Pip kommt, nachdem Sie die Conda-Installation durchgeführt haben. Sie können dieses bin-Verzeichnis Ihrem $ PATH voranstellen.
Faizan
1
Befindet sich das installierte Paket erst danach in der masterVerzweigung? Was ist, wenn ich meine PR in einer Filiale testen möchte, bevor ich sie zum Master zusammenführe?
Mymozaaa
1
@AntonAndreev Die Spezifikation unterstützt sowohl git+gitund als git+httpsauch andere. Alle Spezifikationsbeispiele zeigen jedoch ein, .gitwann immer der Zweig angegeben wird.
Merv
4
Vieles ist bereits im OP (using pip install). Die Frage ist, wie man es conda direkt macht , was die Top-Antwort liefert.
Amelio Vazquez-Reina
29

condaunterstützt dies nicht direkt, da es von Binärdateien installiert wird, während die Git-Installation von der Quelle stammt. conda buildunterstützt Rezepte, die aus Git erstellt wurden. Wenn Sie jedoch nur über die neuesten und besten Produkte auf dem Laufenden bleiben möchten, ist die Verwendung von pip innerhalb von Anaconda in Ordnung oder kann alternativ setup.py developgegen einen Git-Klon verwendet werden.

asmeurer
quelle
Was ist, wenn Ihrem Paket eine Release-Binärdatei zugeordnet ist?
Marcel Ramos
4

Ich fand einen Hinweis darauf in Condas-Fragen . Folgendes sollte jetzt funktionieren.

name: sample_env
channels:
dependencies:
   - requests
   - bokeh>=0.10.0
   - pip:
     - git+https://github.com/pythonforfacebook/facebook-sdk.git
mmann1123
quelle
Dies fügt nichts hinzu, was nicht bereits in der Antwort von @ AronAhmadia enthalten ist. Dies zeigt allgemeiner, dass viele der Optionen in einer normalen Anforderung.txt verfügbar sind.
Merv