Ich folgte der Antwort von @Viktor Kerkez und hatte gemischten Erfolg. Ich fand das manchmal dieses Rezept von
conda skeleton pypi PAKET
conda bauen PAKET
würde so aussehen, als ob alles funktioniert hätte, aber ich konnte PACKAGE nicht erfolgreich importieren. Kürzlich habe ich in der Anaconda-Benutzergruppe danach gefragt und von @Travis Oliphant selbst gehört, wie man mit conda am besten Pakete erstellt und verwaltet, die nicht mit Anaconda geliefert werden. Sie können diesen Thread hier lesen , aber ich werde den folgenden Ansatz beschreiben, um hoffentlich die Antworten auf die Frage des OP vollständiger zu machen ...
Beispiel: Ich werde das ausgezeichnete Hüllplotlib-Paket unter Windows mit Conda 2.2.5 installieren.
1a) conda build --build-recipe prettyplotlib
Sie werden sehen, dass die Build-Nachrichten bis zum letzten TEST-Abschnitt des Builds alle gut aussehen. Ich habe diesen Fehler gesehen
Datei "C: \ Anaconda \ conda-bld \ test-tmp_dir \ run_test.py", Zeile 23 importieren Keine SyntaxError: Kann keiner zugewiesen werden TESTS FAILED: prettyplotlib-0.1.3-py27_0
1b) Gehen Sie in / conda-Rezepte / Prettyplotlib und bearbeiten Sie die Datei meta.yaml. Gegenwärtig führen die Pakete, die wie in Schritt 1a eingerichtet werden, zu Yaml-Dateien, die einen Fehler in diesem test
Abschnitt aufweisen. Hier ist zum Beispiel, wie meine gesucht hatprettyplotlib
test: # Python imports imports:
-
- prettyplotlib
- prettyplotlib
Bearbeiten Sie diesen Abschnitt, um die leere Zeile vor dem - zu entfernen und die redundante Prettyplotlib-Zeile zu entfernen. Zum Zeitpunkt dieses Schreibens habe ich festgestellt, dass ich die meisten meta.yaml-Dateien wie diese für externe Pakete bearbeiten muss, die ich mit conda installiere. Dies bedeutet, dass eine leere Importzeile den Fehler verursacht und ein redundanter Import des angegebenen Pakets verursacht .
1c) Führen Sie den Befehl von 1a aus erneut aus, der diesmal ohne Fehler abgeschlossen sein sollte. Am Ende des Builds werden Sie gefragt, ob Sie den Build auf binstar hochladen möchten . Ich gab Nein ein und sah dann diese Nachricht:
Wenn Sie dieses Paket später auf binstar.org hochladen möchten, geben Sie Folgendes ein:
$ binstar Upload C: \ Anaconda \ conda-bld \ win-64 \ prettyplotlib-0.1.3-py27_0.tar.bz2
Diese tar.bz2-Datei ist der Build, den Sie jetzt tatsächlich installieren müssen.
2) conda install C:\Anaconda\conda-bld\win-64\prettyplotlib-0.1.3-py27_0.tar.bz2
Nach diesen Schritten habe ich conda erfolgreich verwendet, um eine Reihe von Paketen zu installieren, die nicht mit Anaconda geliefert werden. Zuvor hatte ich einige davon mit pip installiert, also pip uninstall PACKAGE
vor der Installation von PACKAGE mit conda. Mit conda kann ich jetzt (fast) alle meine Pakete mit einem einzigen Ansatz verwalten, anstatt eine Mischung aus Dingen zu installieren, die mit conda, pip, easy_install und python setup.py installiert wurden.
Für den Kontext denke ich, dass dieser kürzlich veröffentlichte Blog-Beitrag von @Travis Oliphant für Leute wie mich hilfreich sein wird, die nicht alles schätzen, was in robusten Python-Verpackungen steckt, aber sicherlich zu schätzen wissen, wenn Dinge "einfach funktionieren". conda scheint ein guter Weg nach vorne zu sein ...
pip
installiert mitconda
z~/anaconda/bin/pip
. Verwenden Sie diese Option, um Pakete in einerconda
Umgebung zu installierenpip
und die Vereinigung der mit dieser und mit installierten Pakete anzuzeigenconda install
.