# Setting up dev environment for vak

**URL:** https://forum.vocalpy.org/t/setting-up-dev-environment-for-vak/48
**Category:** Q&A
**Tags:** vak
**Created:** [November 15, 2022, 5:29am UTC](https://forum.vocalpy.org/t/setting-up-dev-environment-for-vak/48 "2022-11-15T05:29:50Z")
**Posts on this page:** 4
**Page:** 1

<div class="post-metadata">

### Author: ![Itamar.F](https://avatars.discourse-cdn.com/v4/letter/i/4bbf92/32.png) [@Itamar.F](https://forum.vocalpy.org/u/Itamar.F)
#### Post date: [November 15, 2022, 5:29am UTC](https://forum.vocalpy.org/t/setting-up-dev-environment-for-vak/48/1 "2022-11-15T05:29:50Z")

</div>

Hello all 🙂  
I’m trying to set a development environment with vak (for some fiddling and learning) and having trouble setting it up using conda. I would appreciate any help!

I’ve cloned the repository, installed (via conda) all requirements, and ran:  
‘conda develop \<path\_to\_local\_repo\>’.  
Still, my computer didn’t recognize the word ‘vak’, nor I managed to run the module directly via python -m.

I then tried to conda build\* the project, which took several hours and yet yielded no different results.

The vak docs suggest using make command, but I didn’t find any makefile to be run on the repository.

What is the correct way to create such a copy?

Thank you, and hello again 🙂  
Itamar

P.s:  
\*While trying to build I had to remove the version number assertion on the conda.recipe for crowsetta, as it said it is ‘unsatisfiable’ on my linux machine. It is at 1.1.1 which my conda couldn’t find (only newer versions).

---

<div class="post-metadata">

### Author: ![nicholdav](https://yyz2.discourse-cdn.com/flex032/user_avatar/forum.vocalpy.org/nicholdav/32/5_2.png) [@nicholdav](https://forum.vocalpy.org/u/nicholdav)
#### Post date: [November 16, 2022, 1:17pm UTC](https://forum.vocalpy.org/t/setting-up-dev-environment-for-vak/48/2 "2022-11-16T13:17:59Z")

</div>

Hi @Itamar.F and welcome to the forums!

> I’m trying to set a development environment with vak (for some fiddling and learning) and having trouble setting it up using conda.

Sorry you’re having such a hard time setting up a dev environment.

> The vak docs suggest using make command, but I didn’t find any makefile to be run on the repository.

You are right that this documentation is out of date, and I need to fix it.

> **[Contributors Guide](https://vak.readthedocs.io/en/latest/development/contributors.html#setting-up-a-development-environment)**
>
> Ways to Contribute: Ways to Contribute Documentation and/or Code: Tackle any issue that you wish! Some issues are labeled as “good first issues” to indicate that they are beginner friendly, meaning...

Could you please raise an issue on the pointing out we need to update this section of the contributors guide?

> **[Issues · vocalpy/vak](https://github.com/vocalpy/vak/issues)**
>
> A neural network framework for researchers studying animal acoustic communication - Issues · vocalpy/vak

In the meantime:  
We are using `nox` instead of `Make` to run tasks like setting up development environments. We’ve adopted this tool because it’s platform agnostic and Python is a lot easier to read and work with. It’s recommended by projects like SciKit-HEP ([Redirecting…](https://scikit-hep.org/developer/tasks)) and used by many core Python projects like `pip`.

To use `nox` to set up a dev environment, please follow these directions from the `songdkl` repo ([GitHub - NickleDave/songdkl: automated quantitation of vocal learning in the songbird](https://github.com/NickleDave/songdkl#as-a-developer)) (I knew I had documented it in at least one repo 😳 😅 )

> ### as a developer
> 
> This project uses the library [nox](https://nox.thea.codes/en/stable/) as a [task runner](https://scikit-hep.org/developer/tasks), to automate tasks like setting up a development environment. Each task is represented as what nox calls a “session”, and you can run a session by invoking nox at the command-line with the name of the session.
> 
> So, to set up a virtual environment for development with `songdkl` installed in “editable” mode, run the “dev” session.
> 
> We suggest using [pipx](https://github.com/pypa/pipx) to install nox in an isolated environment, so that nox can be accessed system-wide without affecting anything else on your machine.
> 
> 1. Install [`pipx`](https://github.com/NickleDave/songdkl/blob/main), e.g. with [brew](https://github.com/pypa/pipx#on-macos) (and [brew works on Linux too](https://docs.brew.sh/Homebrew-on-Linux))
> 2. Install nox with pipx: `pipx install nox`
> 3. Use nox to run the `dev` session: `nox -s dev`
> 4. Activate the virtual environment: `. ./.venv/bin/activate` (and/or tell your IDE to use it)

---

<div class="post-metadata">

### Author: ![nicholdav](https://yyz2.discourse-cdn.com/flex032/user_avatar/forum.vocalpy.org/nicholdav/32/5_2.png) [@nicholdav](https://forum.vocalpy.org/u/nicholdav)
#### Post date: [November 16, 2022, 1:22pm UTC](https://forum.vocalpy.org/t/setting-up-dev-environment-for-vak/48/3 "2022-11-16T13:22:53Z")

</div>

> I’m trying to set a development environment with vak (for some fiddling and learning) and having trouble setting it up using conda. I would appreciate any help!

Just so it’s clear, we don’t use `conda` to develop. We develop in plain old vanilla Python virtual envs so we can be sure it will work there first, and then provide `conda` packages because people expect them. It’s unfortunate for newbies that there are two ways to do everything in the ecosystem but here we are. (Not saying you’re a newbie, I’m just saying I don’t like having more than one way to do everything even if there were good reasons for it historically. Even expert developers get confused by it, case in point this topic right here.)

---

<div class="post-metadata">

### Author: ![nicholdav](https://yyz2.discourse-cdn.com/flex032/user_avatar/forum.vocalpy.org/nicholdav/32/5_2.png) [@nicholdav](https://forum.vocalpy.org/u/nicholdav)
#### Post date: [November 19, 2022, 8:31pm UTC](https://forum.vocalpy.org/t/setting-up-dev-environment-for-vak/48/4 "2022-11-19T20:31:30Z")

</div>

Guessing you saw but just for completeness replying here too:  
I did fix the dev instructions in this pull request, [DOC: Fix instructions to set up dev env, fixes #591 by NickleDave · Pull Request #592 · vocalpy/vak · GitHub](https://github.com/vocalpy/vak/pull/592), and added you as a contributor, thank you @Itamar.F for catching that

Fixed dev env instructions are now live here:

> **[Contributors Guide](https://vak.readthedocs.io/en/latest/development/contributors.html#setting-up-a-development-environment)**
>
> Ways to Contribute: Ways to Contribute Documentation and/or Code: Tackle any issue that you wish! Some issues are labeled as “good first issues” to indicate that they are beginner friendly, meaning...
