Conda

From FreeCAD Documentation
Revision as of 08:49, 2 November 2020 by Maker (talk | contribs) (Created page with "Als nächstes ist Conda ein Abhängigkeitsverwalter, ebenfalls ähnlich wie <code>apt</code> oder <code>pip</code>.")

Einführung

Diese Seite soll Conda als Paket-, Abhängigkeits- und Umgebungsmanager für FreeCAD vorstellen.

Momentan katalogisiert diese Seite hauptsächlich Links zu relevanten Diskussionen im FreeCAD Forum und anderen Orten im Web, aber die Hoffnung besteht darin, die wichtigsten Punkte aus diesen Verweisen auf dieser Seite zu dokumentieren.

Motivation

Die Motivation für den Einsatz von Conda ist vielfältig, ebenso wie der Zweck von Conda.

Lasse es uns aufschlüsseln.

Conda als Paketverwalter

Zuerst ist Conda ein Paketmanager - ähnlich wie apt oder pip.

Das bedeutet, dass wir Pakete mit einem einfachen conda install von verschiedenen Kanälen wie z.B. conda-forge installieren können.

Conda Forge ist analog zu the Python Paket Index (PyPI), einem Gemeinschaftskanal, der aus Tausenden von Mitwirkenden besteht, und dient Freecad als Conda Paket.

Conda als ein Abhängigkeitsverwalter

Als nächstes ist Conda ein Abhängigkeitsverwalter, ebenfalls ähnlich wie apt oder pip.

Conda can manage the dependencies and install the dependencies for a project like FreeCAD.

Why not just use pip? pip works really well for managing the dependencies of projects that only use python.

Conda works for multiple languages, and is therefore better suited for managing the dependencies of projects like FreeCAD that have dependencies across a variety of languages like C / C++ and Python.

Conda as a Environment Manager

Conda has the concept of an environment which is the unique combination of packages and versions needed to run a piece of software. For example, a FreeCAD workbench.

With environments, you can easily "activate" and "deactivate" them, or switch between versions of packages needed for particular pieces of software.

This is useful for testing how a workbench behaves with a particular set of packages. For example, how does a workbench behave in FreeCAD 18.4 vs 19?

Conda environments allow you to reproduce the same exact environment on different machines.

For example, multiple local developer machines, or a remote build-server hosted by Travis CI.

Installing Conda

1. Install Miniconda.

2. Verify your installation was successful and familiarize yourself with the conda CLI. $ conda --help

Installing FreeCAD Using Conda

First, you need to decide whether you want to install a stable version of FreeCAD, or experiment with the latest unstable code from FreeCAD master.

Stable released versions of FreeCAD are served on the conda-forge channel, while the latest from FreeCAD master is served on the freecad/label/dev channel.

Conda Channel Stable?
conda-forge Yes ✔️
freecad/label/dev No ❌

Secondly, since you can easily create dedicated environments in conda, it's recommended to create one for FreeCAD.

The create command allows you to create an environment from a list of specified packages. In our case, we want to create an environment called "fcenv" (short for FreeCAD environment) from the freecad package, and tell conda to search for the freecad package using the conda-forge channel.

conda create --name fcenv --channel conda-forge freecad

Tip: You can alternatively tell conda to always search conda-forge when installing packages with the following command:

conda config --add channels conda-forge

The weekly builds can be installed from the freecad/label/dev channel like so:

conda create --name fcenv-dev --channel freecad/label/dev freecad

FreeCAD Forum Discussion

See Also