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
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/