[PYTHON] Laden Sie Pakete, die sich nicht in Conda befinden, auf anaconda.org hoch und verwalten Sie sie

Introduction

Pakete, die nicht mit conda installiert werden können, werden normalerweise mit pip installiert, aber es ist möglich (und sollte es sein), Pakete mit conda zu erstellen und zu verwalten.

** Diese Methode allein ist nicht gut, da die erforderlichen Pakete anscheinend sowohl in pip als auch in conda enthalten sind. ** ** ** ** Wenn jemand mehr Details weiß, lass es mich wissen. ** ** **

Erforderliche Pakete

Erstellen Sie mit conda und installieren Sie die Pakete, die zum Hochladen auf anaconda.org mit conda erforderlich sind.

conda install conda-build anaconda-client

Bis vor kurzem hatte 64-Bit-Win einen Fehler. Wenn Sie also Windows verwenden und bereits Conda-Build haben, sollten Sie es aktualisieren. Besser.

conda update conda-build

conda & upload

Wenn Sie beispielsweise pandas_ml in conda konvertieren, sieht dies folgendermaßen aus. Erstellen Sie ein Build-Rezept mit Skeleton, erstellen Sie es lokal und laden Sie es bei Bedarf auf anaconda.org hoch.

mkdir work
cd work
conda skeleton pypi pandas_ml --version 0.3.0 
cd pandas_ml
conda build . --python=3.4
# To have conda build upload to anaconda.org automatically, use
# $ conda config --set anaconda_upload yes
conda build . --output
#>>> <anaconda root>\conda-bld\win-64\pandas_ml-0.3.0-py34_0.tar.bz2

Bei lokaler Installation ohne Verwendung von anaconda.org

onda install --use-local pandas_ml

Beim Hochladen auf anaconda.org

Melden Sie sich bei anaconda.org an. Es ist kostenlos, wenn Sie nicht privat verwenden.

anaconda login
#>>> Using Anaconda Cloud api site https://api.anaconda.org
#>>> Username: y__sama
#>>> Password:
#>>> login successful
#>>> y__sama's
anaconda upload <anaconda root>\conda-bld\win-64\pandas_ml-0.3.0-py34_0.tar.bz2

Wenn Sie häufig auf anaconda hochladen, setzen Sie conda config --set anaconda_upload yes.

Bei der Installation von anaconda.org können Sie den Kanal wie gewohnt angeben und installieren.

conda install -c y__sama pandas_ml

Ich erhalte häufig Fehler, weil die abhängigen Pakete nicht mit conda installiert werden können oder nicht im Rezept (meta.yaml) aufgeführt sind. Wenn ein Fehler auftritt, muss ein separates abhängiges Paket mit conda build erstellt oder meta.yaml bearbeitet werden, während die Nachricht angezeigt wird.

http://conda.pydata.org/docs/build_tutorials/pkgs.html#troubleshooting

Umgebungskopie in lokal

conda create -n env_copy --clone env

Migration auf einen anderen Server (per Datei)

Wenn Sie es auf anaconda.org hochladen und verwenden möchten, fügen Sie einen Kanal hinzu.

conda config --add channels y__sama

Exportieren Sie die Umgebung einmal in eine Datei und geben Sie sie beim Erstellen mit der Option --file an.

conda list -e > env.txt
conda create -n env_file --file env.txt

Aber aus irgendeinem Grund sind sowohl pip als auch conda enthalten. .. ..

conda list
#>>> ...Abkürzung
#>>> jsonschema                2.5.1                    py35_0    defaults
#>>> jupyter-client            4.2.2                     <pip>
#>>> jupyter-cms               0.5.0                     <pip>
#>>> jupyter-core              4.1.0                     <pip>
#>>> jupyter_client            4.2.2                    py35_0    defaults
#>>> jupyter_cms               0.5.0                    py35_0    y__sama
#>>> jupyter_core              4.1.0                    py35_0    defaults
#>>> libsodium                 1.0.3                         0    defaults
#>>> ...Abkürzung

Jetzt sollten Sie in der Lage sein, Pakete nur mit der Conda-Liste zu verwalten, ohne Pip Freeze und die Conda-Liste zusammen zu verwenden.

Wenn Sie irgendwelche Details haben, würde ich mich freuen, wenn Sie einen Kommentar abgeben könnten.

Referenz

https://gist.github.com/aphlysia/d5fcee79ff81b8272faf http://conda.pydata.org/docs/build_tutorials/pkgs.html http://docs.anaconda.org/cli.html

Recommended Posts

Laden Sie Pakete, die sich nicht in Conda befinden, auf anaconda.org hoch und verwalten Sie sie
Eine Lösung für das Problem, dass Dateien mit [und] nicht in glob.glob () aufgeführt sind
Reguläre Ausdrücke, die in Python leicht und solide zu erlernen sind
Module und Pakete in Python sind "Namespaces"
Verwalten Sie Python-Pakete, um sie in Containern zu installieren
[Jinja2] Lösung für das Problem, dass die in der for-Anweisung hinzugefügten Variablen nicht vererbt werden
Plotly Trace- und Layout-Vorlagen, die wahrscheinlich in Streudiagrammen verwendet werden
[Einführung in die Udemy Python3 + -Anwendung] 36. Verwendung von In und Not
Eine Standardmethode zum Entwickeln und Verteilen von Paketen in Python
[AWS IoT] Löschen Sie Zertifikate, die nicht an Dinge angehängt sind
Versuchen Sie, die in COTOHA beliebten Schlüsselwörter zu extrahieren
Einführung in die Effektüberprüfung Schreiben der Kapitel 4 und 5 in Python
Die Gefahr, dass sich die Protokolle in Fedora 33 (Beta) nicht drehen
So definieren Sie Objekte, die häufig in View verwendet werden, intelligent
Konvertieren Sie Dateien, die mit Cloud-Funktionen (Python) in den Cloud-Speicher hochgeladen wurden, so, dass sie in Excel nicht verstümmelt werden
Pakete, die MIDI mit Python Midi und Pretty_Midi verarbeiten
a () und a .__ call__ () sind nicht gleichwertig
Mit PEP8 und PEP257 ist es nicht peinlich, Python-Codierung zu zeigen!
So kratzen Sie Seiten, denen in Selenium + Headless Chrome "Zugriff verweigert" wurde
So verbergen Sie Warnungen, die sich nicht auf die Ausführung in Jupyter Notebook auswirken
Unterdrücktes "Feld darf nicht null sein." Wird in Feldern angezeigt, die nicht null sind und in der DB-Definition standardmäßig mit Verbindung und Marshmallow-SQLalchemie verwendet werden.