2016-08-04 6 views
0

Conda ist ideal für die Verteilung von Binärdateien von Open-Source-Software. Für einige Software in meiner Branche ist es jedoch erforderlich, dass Benutzer den Lizenzen zustimmen oder ihre E-Mails in einem Webformular einreichen, bevor sie Zugriff erhalten. Ich möchte, dass jeder conda benutzt, gibt es eine Möglichkeit für Entwickler, conda noch zu benutzen, um ein solches Paket zu verteilen? Eine Lösung, die so einfach wie conda install ... ist, sollte möglich sein.Wie verteilt man lizenzierte Pakete mit Conda

Die beste Lösung, die ich bisher gefunden habe, ist das Herunterladen des tar.bz2-Bundles, das der Benutzer der Lizenz zugestimmt hat, und die Ausführung des Benutzers conda install package.tar.bz2. Leider installiert das nicht öffentlich verfügbare Abhängigkeiten (zB von anaconda.org). Eine weitere Alternative besteht darin, dass Benutzer das Paket herunterladen und es in den Ordner "conda_bld" stellen. Dies ist jedoch etwas manuell und erfordert Kenntnisse der Benutzer über ihre Installation.

Antwort

0

Der einfachste Weg besteht wahrscheinlich darin, zwei Pakete zu erstellen, eines mit dem eigentlichen Paket, und eines, das alle Abhängigkeiten installiert. Der Grund dafür ist laut den offiziellen Dokumenten conda install ./pkg-0.0.0-py27_0.tar.bz2 impliziert --force, die keine Abhängigkeiten installiert. Anstatt also, Ihre Benutzer

conda install -c your-channel pkg-deps 
conda install ./pkg-0.0.0-py27_00.tar.bz2 

Im Paket tun könnten pkg-deps, sollten Sie alle Abhängigkeiten des aktuellen Pakets auflisten, aber das Paket braucht nichts zu installieren. Technisch wäre dies ein Metapackage.

Die tatsächliche Paketdatei kann sich in einem beliebigen Verzeichnis befinden, wenn der Benutzer sie herunterlädt, soweit ich weiß, und in der Befehlszeile angegeben. Es sollte nicht notwendig sein, dass der Benutzer das Paket in ein spezifisches Verzeichnis legt.

Verwandte Themen