


Recently, I was working in a (Python) project that was completely set up using Poetry. Up to now, I hadn’t had the opportunity (or the need) to try it out, so this seemed like a good learning opportunity.
Except for a few caveats1, Poetry has been very simple and straightforward to use. However, it still has some disadvantages compared to conda
(my go-to solution for environment and package management), namely:
- Poetry only supports Python projects. Sure, I work mostly with Python, but what will happen when I need to use or combine a different framework?
- Poetry relies on
venv
for virtual environments, which has given me a lot of headaches in the past (and one of the main reasons why I switched toconda
).
But what if you could combine the best of both worlds? For instance: creating an environment with conda
and letting Poetry do all the Python package management?
That sounds great!

I was looking for a step-by-step guide of how to configure them for Windows. Although I found one or two,
I still needed to do some tinkering myself. In this post, I would like to share how I configured conda
and Poetry to work together. Hopefully this will save you some time and makes things smoother, should you decide to have this setup yourself.
0. Install conda
I assume that you have already installed conda
in your machine (which comes with pip
).
By the way, this setup also works for miniforge
, which is what I actually use.
1. Install pipx
In your conda
terminal, install pipx
on your base
environment
(I know, I know, usually you shouldn’t mess up with your base
environment, but this is how I managed to make things work):
pip install pipx
2. Install Poetry
Poetry provides a few installation options. To narrow it down, do the following.
While still being in your base
environment, do:
pipx install poetry
Note that as Poetry’s documentation states, do not install Poetry in the environment of your project!
After that, you will (probably) get a warning message regarding paths. Save yourself the issue of changing this manually, and just do:
pipx ensurepath
You can check if Poetry was installed correctly by going to a Windows shell and doing:
poetry --version
3. Configure Poetry
Now you just need to configure Poetry. On a Windows shell, do:
poetry config virtualenvs.path "path_to_your_conda_envs"
Replace path_to_your_conda_envs
with the actual Windows path where conda
stores your environments (don’t forget the quotation marks " "
).
If you don’t know said path (as it is always the case with me), you can find out with the command conda info --envs
.
Then, type:
poetry config virtualenvs.create false
which allows to keep the environment management up to you (and conda
), therefore using Poetry only for package (and dependency) management.
4. Make sure everything works
Lastly, let’s see that everything is working. Close the previous conda
terminal, open a new one and do:
poetry --version
You can now use Poetry for installing new packages, for instance:
poetry add mkdocs-git-revision-date-localized-plugin
(It is a weirdly specific example, but that’s the package that I needed at the moment).
That’s it! So far, this configuration has worked quite good for me. Apparently, there are other options that also look very promising,
such as using Pixi
(as suggested here)
or uv
(which claims to be extremely fast).
I hope I have the chance to take a look at them in the future.
If you have any comments, questions or feedback, leave them in the comments below or drop me a line on Twitter (@amoncadatorres). Moreover, if you found this useful, fun, or just want to show your appreciation, you can always buy me a cookie. Cheers!