# Development Environment for different versions?

**URL:** <https://forum.ansible.com/t/development-environment-for-different-versions/44347>\
**Category:** Get Help\
**Tags:** ansible-devel, debian-trixie\
**Created:** [August 21, 2025, 4:24pm UTC](https://forum.ansible.com/t/development-environment-for-different-versions/44347 "2025-08-21T16:24:09Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![fallbackerik](https://avatars.discourse-cdn.com/v4/letter/f/a698b9/32.png) [@fallbackerik](https://forum.ansible.com/u/fallbackerik)\
**Post date:** [August 21, 2025, 4:24pm UTC](https://forum.ansible.com/t/development-environment-for-different-versions/44347/1 "2025-08-21T16:24:09Z")

</div>

I assume there might be quite a few cases where a developer would want to test something against a version that works, and then against a newer version where it fails.

To try that, I got [this advice](https://github.com/ansible/ansible/issues/85667#issuecomment-3189334180) in a comment:

> 1. Get git repo
> 2. ` source ./hacking/env-setup`
> 3. `git checkout <version>`
> 4. test

But I can’t find anything in the documentation about it.

Also, after setting up a fresh Debian Trixie (13) environment it doesn’t work. I assume it worked in my previous Bookworm (12) setup was because I had older versions of the undocumented requirements installed through system packages, because at some time in the past I was running ansible from system packages.

How would you recommend a fresh install to approach these development requirements?

---

<div class="post-metadata">

**Author:** ![bcoca](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/bcoca/32/9269_2.png) [@bcoca](https://forum.ansible.com/u/bcoca)\
**Post date:** [August 21, 2025, 4:27pm UTC](https://forum.ansible.com/t/development-environment-for-different-versions/44347/2 "2025-08-21T16:27:52Z")

</div>

The docs are here, i just gave you a ‘short version’ earlier.

> **[Installing Ansible — Ansible Community Documentation](https://docs.ansible.com/ansible/latest/installation_guide/intro_installation.html)**

Also, requirements are part of the repo (test has an additional set in the test subdir)

> <https://github.com/ansible/ansible/blob/devel/requirements.txt>

---

<div class="post-metadata">

**Author:** ![fallbackerik](https://avatars.discourse-cdn.com/v4/letter/f/a698b9/32.png) [@fallbackerik](https://forum.ansible.com/u/fallbackerik)\
**Post date:** [August 22, 2025, 5:55pm UTC](https://forum.ansible.com/t/development-environment-for-different-versions/44347/3 "2025-08-22T17:55:33Z")

</div>

Oh, this is great! If I can use the `requirements.txt`, I can also use the `pyproject.toml`. Which means, I don’t have to use the hacking script but can use `pip install .`

---

<div class="post-metadata">

**Author:** ![felixfontein](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/felixfontein/32/7530_2.png) [@felixfontein](https://forum.ansible.com/u/felixfontein)\
**Post date:** [August 22, 2025, 8:18pm UTC](https://forum.ansible.com/t/development-environment-for-different-versions/44347/4 "2025-08-22T20:18:36Z")

</div>

I once did `pip install -e .` in my ansible/ansible checkout and since then I just use `git checkout stable-xxx` resp. `git checkout devel` to switch back and forth between versions.

(Using a venv might be a good idea, obviously 😉 )

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/ansible/original/1X/1882d9a01da5d8996a862359b0913cc568a39b84.svg) [@system](https://forum.ansible.com/u/system)\
**Post date:** [September 21, 2025, 8:19pm UTC](https://forum.ansible.com/t/development-environment-for-different-versions/44347/5 "2025-09-21T20:19:36Z")

</div>

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.
