staging.inyokaproject.org

pip vs conda bei anaconda & miniconda :: Einrichtung & Betrieb

Status: Ungelöst | Ubuntu-Version: Kubuntu 18.04 (Bionic Beaver)
Antworten |

pregmatch

Avatar von pregmatch

Anmeldungsdatum:
30. Januar 2011

Beiträge: 484

Tach zusammen

virtualenv unter anaconda: was mich hierbei etwas wundert: Auch da wird ein virtualenv angeboten - also unter anaconda - es gibt sogar ein virtualenv plugin für pyenv.

pyenv und virtualenv: Frage: brauch ich die denn bei Anaconda denn gleich auch am Anfang - muss ich die miteinrichten oder eher nur bei (Mini).Conda! Ich hab mir die Tutorials angesehen und mich mal kurz eingelesen: bei der Installation von Anaconda sollte man aufpassen: Wenn python schon auf dem Rechner ist - dann kann es Abhängikeiten geben. Am allerbsesten ist es wenn mal noch nix auf der Maschine ist - also weder Python oder Conda oder Anaconda::

.. dennoch: immer und in jedem Falle wichtig und gut: dann nicht einfach durchklicken: x add anaconda to the system path environment wenn man schon ein.conda directory im home hat - dann ist das nicht weiter tragisch.

1
2
3

$ cd
$ mkdir -p .conda/pkgs/cache .conda/envs

damit richtet man sich ein Python environment ein: Der conda create command führt genau diesen Schritt aus versehen mit einem python=version argument.

Übrigens sind die package manager in Anaconda und Miniconda glücklicherweise identisch (Conda), Man muss nicht Miniconda in das System installieren wenn man beabsichtigt, ohnehin bei Anaconda zu bleiben.

envs wird erzeugt mit dem Kommando:

1
2

conda create -n myenv python some_packages

Das klappt - allerdings kann es zu einer Ausnahme kommen - wenn verschiedene Pakete nebeneinander existieren und verschiedene package-caches; Denke es ist das beste, bei Konflikten einfach eines löschen und die shell initialization (e.g., .bash_profile) cleanen - denn die Installer laufen auch darüber.

zum Betrieb - also wenn alles mal installiert ist - was mache ich wenn ich ein Paket nicht über Conda finde: Verwendet ihr dann immer conda-forge!?

1
$ conda install --channel conda-forge ads

zu dem Thema hier passend - ein snippet aus dem Web:

1
2
3
4
Install from conda-forge
Add the conda-forge channel: conda config --add channels conda-forge.
Create a new environment containing SageMath: conda create -n sage sage python=X , where X is version of Python, e.g. 2.7.
Enter the new environment: conda activate sage

wenn man ein gewünschtes package nicht über conda findet, kann man dann tatsächlich via Python packages wie "pip" weitermachen. Das bringt einem doch unweigerlich in die Abhängikeitsfalle - um nicht zu sagen in die Abhängigkeitshölle, denn conda kennt doch dann die Abhängigkeiten nicht (mehr) wenn ich weitermache mit

1
2
3

- "easy_install", oder 
- "python setup.py" 

Habt ihr hier Tipps!?

Darüber hinaus: Wenn ich die conda packages in einer Umgebung update, wo conda packages mit anderen packaging styles gemischt sind, bring ich mich dann nicht doch in Abhänigkeiten. Ergo denke ich, dass man pip nur sehr zurückhaltend einsetzen sollte - und allenfalls dann - wenn man noch die "--user" option mitverwendet, sodass es dann ins Homeverzeichnis reininstalliert.

Weil das Ganze mich dann doch so stark beschäftigt hat hab ich ein paar Cheatsheets rausgesucht. hier also Weitere Quellen: insgesamt hier noch mehr zum Thema Anaconda und Conda: what-is-the-difference-between-pyenv-virtualenv-anaconda

https://stackoverflow.com/questions/38217545/what-is-the-difference-between-pyenv-virtualenv-anaconda

1
2
3
4
pip: the Python Package Manager.
pyenv: Python Version Manager
virtualenv: Python Environment Manager.
Anaconda: Package Manager + Environment Manager + Additional Scientific Libraries

Conda cheat sheet https://medium.com/@buihuycuong/conda-cheat-sheet-f9424fa2e3f5 Conda cheat sheet Command line package and environment manager

Managing Conda and Anaconda https://kapeli.com/cheat_sheets/Conda.docset/Contents/Resources/Documents/index Managing Conda and Anaconda Managing Environments Managing Python Managing .condarc Configuration Managing Packages, Including Python Removing Packages or Environments

conda-cheatsheet: http://know.continuum.io/rs/387-XNW-688/images/conda-cheatsheet.pdf

Installationsanleitung für Conda - in deutsch: https://uni-tuebingen.de/einrichtungen/zentrum-fuer-datenverarbeitung/dienstleistungen/serverdienste/computing/kompendium/python-pakete-installieren/

noisefloor Team-Icon

Anmeldungsdatum:
6. Juni 2006

Beiträge: 29567

Hallo,

mein Tipp ist: Anaconda ist unter Linux IMHO überflüssig, weil es IMHO keinen Vorteil bringt. Da kommt man mit pip und venv genau so gut weiter. Unter Windows nutze ich dagegen Anaconda (bzw. MiniConda), weil a) Python automatisch aktualisiert wird und b) pip unter Windows ein echter Kampf sein kann, wenn das Python Modul bei der Installation Erweiterungen kompilieren muss. Das ist zwar besser geworden, seitdem es mehr Python-Module als Wheel gibt, aber trotzdem. Unter Windows ist man dann nämlich sehr zügig an dem Punkt, wo die VS Runtimes zu den passen müssen, gegen die Python kompiliert ist usw. Das ist unter Linux _wesentlich_ einfach, weil das alles korrekt über die Paketverwaltung installiert wird.

Wenn python schon auf dem Rechner ist - dann kann es Abhängikeiten geben. Am allerbsesten ist es wenn mal noch nix auf der Maschine ist - also weder Python oder Conda oder Anaconda::

Das stimmt so nicht. Siehe auch Anaconda. Und die kannst unter Ubuntu Python 3 sowie so nicht so ohne weiteres deinstallieren, weil Teile des Systems davon abhängig sind.

Ansonsten sind da noch mehr konfuse Aussagen in deinem Post. Weil du z.B. an einigen Stellen Tipps für Windows gelesen hast, die auf Linux nicht zutreffen. Und der Unterschied zwischen Anaconda und MiniConda ist, dass MiniConda "nur" das Kernsystem ist, während Anaconda Kernsystem + >700 Python-Module ist. Die könnte man aber auch alle bei MiniConda nachinstallieren. Braucht nur in der Regel kein Mensch.

Gruß, noisefloor

Antworten |