oceanhackweek / ohw21-proj-bioacoustics

0 stars 8 forks source link

Making a .yml environment with echopype and other packages #8

Closed skygering closed 3 years ago

skygering commented 3 years ago
skygering commented 3 years ago

Turns out that echopype is already in the environment so this is not necessary! Woohoo! 😄

skygering commented 3 years ago

Turns out that the wrong version of echopype is installed

emiliom commented 3 years ago

Turns out that the wrong version of echopype is installed

0.4.1 is installed in the base OHW image. Wow, that's ancient! Please install it "manually" for now to get the latest version, 0.5.2. You may need to create your own conda environment. I see that there may be dependency conflicts between echopype and the OHW base image, specially with xarray and fsspec. I'll ping the jupyterhub gang to see if something can be done about it.

loicbachelot commented 3 years ago

@emiliom we created our own conda env and everything seems to be working for us now! I'll just leave this issue open in case someone has a problem adding a package but env pushed in #15

emiliom commented 3 years ago

Awesome!

mbdunn commented 3 years ago

The conda env @loicbachelot created "spec-file.txt" worked! I'll close this issue.

abkfenris commented 3 years ago

While the spec-file.txt is great for making sure the environment can be replicated exactly, it's also limited by specifying exact files for a specific operating system (linux-64) which means that it isn't portable to other operating systems (Mac, Windows).

A hand rolled environment.yml file can define an environment more generally. It can be specific about certain package versions that the project is using, but allow flexibility to adapt to any given environment.

name: bio-acoustics
dependencies:
- python=3.9
- echopype
- xarray
- fsspec
- pandas
- matplotlib
- numpy
- dask
- dask-gateway
- holoviews
- geoviews
- pyephemeris
- astral

Having the spec-file.txt is useful because it can be used to fine tune the environment.yml as it has details of exact versions in case they are necessary.

Resources: