Conda/it: Difference between revisions
Renatorivo (talk | contribs) (Created page with "Le motivazioni per l'utilizzo di Conda sono molteplici, così come lo scopo di Conda.") |
Renatorivo (talk | contribs) (Created page with "Analizziamole.") |
||
Line 13: | Line 13: | ||
Le motivazioni per l'utilizzo di Conda sono molteplici, così come lo scopo di Conda. |
Le motivazioni per l'utilizzo di Conda sono molteplici, così come lo scopo di Conda. |
||
Analizziamole. |
|||
Let's break it down. |
|||
===Conda as a Package Manager=== |
===Conda as a Package Manager=== |
Revision as of 13:18, 2 October 2020
Introduzione
This page is meant to introduce Conda as a package, dependency, and environment manager for FreeCAD.
Attualmente questa pagina cataloga principalmente i collegamenti alle discussioni pertinenti del forum di FreeCAD e ad altri luoghi sul web, ma l'intenzione è di documentare i punti salienti di questi collegamenti in questa pagina.
Motivazione
Le motivazioni per l'utilizzo di Conda sono molteplici, così come lo scopo di Conda.
Analizziamole.
Conda as a Package Manager
First, Conda is a package manager -- similar to apt
or pip
.
This means we can install packages with a a simple conda install
from various channels such as conda-forge.
Conda Forge is analogous to the Python Package Index (PyPI), a community channel made up of thousands of contributors, and serves freecad as a conda package.
Conda as a Dependency Manager
Next, Conda is a dependency manager, also similar to apt
or 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
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