Kann ich Pakete von bestimmten Kanälen installieren, wenn PIP verwendet wird, wie es in Anaconda möglich ist?

736
Daniel Möller

In Anaconda gibt es die Möglichkeit, den Konfigurationsdateien "Channels" hinzuzufügen.

Jedes mit installierte Paket conda install ...sucht zuerst nach Paketen in diesen Kanälen (wie zum Beispiel dem intelKanal).

Gibt es eine Möglichkeit, PIP auch von bestimmten Kanälen installieren zu lassen?

0

2 Antworten auf die Frage

1
Anaksunaman

Wenn ich mich nicht irre, glaube ich, dass pipes nicht so "Kanäle" gibt wie Anaconda. Im Wesentlichen wird pipdavon ausgegangen, dass für einfache Online-Installationen (z. B. pip install package_name) PyPI verwendet wird .

Trotzdem ist es durchaus möglich, aus anderen Quellen (sowohl lokal als auch aus anderen Quellen) abzurufen - einige Beispiele finden Sie im offiziellen Python-Installationshandbuch . Unterstützte Quellen können Versionskontrollsysteme (Versionskontrollsysteme, Versionskontrollsysteme), alternative Indizes (dh nicht PyPI), lokaler SRC-Baum und lokale Archive / Räder sein.

Weitere Dokumentation zu VCS-Support für Git, Mercurial, Subversion und Bazaar finden Sie hier .

1
hoefling

pipunterstützt die Angabe zusätzlicher Repositorys zur Suche nach Paketen; diese verhalten sich ähnlich wie Kanäle in conda<4. Beispiel:

$ pip install somepkg --extra-index-url http://myindex.org 

Mehrere zusätzliche Indizes können angegeben werden in pip.conf:

[global] extra-index-url= http://myindex.org http://other-index.org http://third-index.org 

Wenn ein Index über bereitgestellt wird extra-index-url, pipwird der Standardindex immer unter https://pypi.org durchsucht. Anschließend wird der zusätzliche Index durchsucht und das erste übereinstimmende Paket installiert. Ein Überschreiben von http://pypi.org ist ebenfalls möglich, über

$ pip install --index-url http://myindex.org 

Hosting eines lokalen Index

Es ist eigentlich ziemlich einfach, einen lokalen Index zu hosten, wenn Sie einen benötigen. Obwohl es eine Menge von Fremd PyPI Server verfügbar sind (ein paar zu nennen: devpi, wheelhouseoder pypiserver), müssen Sie nichts außer einer Python - Installation ein, sich zu feuern. Erstellen Sie ein Verzeichnis mit Unterverzeichnissen, die als Pakete bezeichnet werden und die Installationsdateien enthalten:

repo └── MyPackage └── MyPackage.tar.gz 

Navigieren Sie zu dem Verzeichnis und führen Sie den Server der stdlib aus:

$ cd repo/ $ python -m SimpleHTTPServer 9000 

Jetzt können Sie die Pakete von Ihrem lokalen Repository aus installieren:

$ pip install MyPackage --extra-index-url = http://127.0.0.1:9000/ 
Dies ist sehr wahrscheinlich die Antwort, aber wie finde ich die URL für die von Anaconda verwendeten Kanäle? Zum Beispiel gibt es den "Intel" -Kanal (und nur das, keine Adresse, keine einfachen Informationen im Internet) Daniel Möller vor 5 Jahren 0
Ich bin nicht besonders an 'conda' interessiert, aber AFAIR `conda info` sollte zumindest alle URLs der verwendeten Kanäle drucken, aber keine Namenszuordnung. hoefling vor 5 Jahren 1