Time (CET) |
Episode |
9-10 |
Getting started, Working with Environments |
10-10.15 |
Break |
10.15-11.15 |
Working with Environments , Using packages and channels |
11.15-11.30 |
Break |
11.30-12 |
Using packages and channels , Sharing environments |
Packages
import something
Note:
-
Python can do a lot
-
not alone
-
external packages
-
import package
-
Module: a collection of functions and variables, as in a script
-
Package: a collection of modules with an init.py file (can be empty), as in a directory with scripts
-
Library: a collection of packages with realted functionality
Library/Package are often used interchangeably.
Module on HPC different
Dependencies
"[Something] relying on [something else] to work.""
"I found this package that would solve all my problems, but it needs [some package] 1.3 while all other packages I need rely on [same package] 2.5" 
"I found this package that would solve all my problems, but it needs [Python] 2.7 while all other packages I need rely on [Python] 3.6" 
Environments
Environment management system
- Multiple versions
- Portability
- Rights
Package management system
Why use package and environment management systems?
- Same package, different version
- Dependency hell (updates)
- Reproducibility
Discussion 
What are some of the potential benefits from installing software separately for each project? What are some of the potential costs?
Conda

Why conda?
- Avoid building from source
- takes care of dependencies
- OS independent
- combined package and environment management system
Keypoints
- Conda:
- platform agnostic
- open source
- package and environment management system
- not only for Python
Conda for (data) scientists slides: https://hackmd.io/@samumantha/conda-slides
{"metaMigratedAt":"2023-06-15T17:57:20.790Z","metaMigratedFrom":"YAML","title":"Conda for (data) scientists - Intro","breaks":true,"slideOptions":"{\"spotlight\":{\"enabled\":false},\"theme\":\"moon\"}","contributors":"[{\"id\":\"06ea2ab1-3ae0-4ad3-8c63-3ae6b5ef2b4d\",\"add\":16035,\"del\":9367}]"}