A couple new projects are using poetry:
However, on Mac on Python on Python 3.9.6 I can't install poetry. I'm getting this error:
Exception: This build of python cannot create venvs without using symlinks
pdurbin@air dataversecommunity.global % curl -sSL https://install.python-poetry.org | python3 -
Retrieving Poetry metadata
# Welcome to Poetry!
This will download and install the latest version of Poetry,
a dependency and package manager for Python.
It will add the `poetry` command to Poetry's bin directory, located at:
/Users/pdurbin/.local/bin
You can uninstall at any time by executing this script with the --uninstall option,
and these changes will be reverted.
Installing Poetry (1.6.1): Creating environment
Traceback (most recent call last):
File "<stdin>", line 945, in <module>
File "<stdin>", line 923, in main
File "<stdin>", line 560, in run
File "<stdin>", line 581, in install
File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/contextlib.py", line 117, in __enter__
return next(self.gen)
File "<stdin>", line 653, in make_env
File "<stdin>", line 639, in make_env
File "<stdin>", line 317, in make
File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/venv/__init__.py", line 66, in __init__
self.symlinks = should_use_symlinks(symlinks)
File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/venv/__init__.py", line 31, in should_use_symlinks
raise Exception("This build of python cannot create venvs without using symlinks")
Exception: This build of python cannot create venvs without using symlinks
pdurbin@air dataversecommunity.global % python3 --version
Python 3.9.6
pdurbin@air dataversecommunity.global %
The docs I'm following: https://python-poetry.org/docs/#installation
GitHub issue about this: https://github.com/python-poetry/install.python-poetry.org/issues/24
Suggestion to install with homebrew instead: https://stackoverflow.com/questions/73805879/poetry-installation-failing-on-mac-os-says-should-use-symlinks/73834174#73834174
Why people say not to install poetry with homebrew: https://stackoverflow.com/questions/73365780/why-is-not-recommended-to-install-poetry-with-homebrew
Should we stick with python -m venv venv instead? Fewer headaches, right?
As suggested in the issue, I can reproduce the problem with this:
pdurbin@air foo % /usr/bin/python3 -m venv --copies --without-pip venv && ./venv/bin/python3
Error: This build of python cannot create venvs without using symlinks
Ha, by far it's the number 1 upvoted issue: https://github.com/python-poetry/install.python-poetry.org/issues?q=is%3Aissue+is%3Aopen+sort%3Areactions-%2B1-desc
I tried this...
curl -sSL https://install.python-poetry.org | sed 's/symlinks=False/symlinks=True/' | python3 -
... as suggested at https://github.com/python-poetry/install.python-poetry.org/issues/24#issuecomment-1692427804
pdurbin@air ~ % curl -sSL https://install.python-poetry.org | sed 's/symlinks=False/symlinks=True/' | python3 -
Retrieving Poetry metadata
# Welcome to Poetry!
This will download and install the latest version of Poetry,
a dependency and package manager for Python.
It will add the `poetry` command to Poetry's bin directory, located at:
/Users/pdurbin/.local/bin
You can uninstall at any time by executing this script with the --uninstall option,
and these changes will be reverted.
Installing Poetry (1.6.1): Done
Poetry (1.6.1) is installed now. Great!
To get started you need Poetry's bin directory (/Users/pdurbin/.local/bin) in your `PATH`
environment variable.
Add `export PATH="/Users/pdurbin/.local/bin:$PATH"` to your shell configuration file.
Alternatively, you can call Poetry explicitly with `/Users/pdurbin/.local/bin/poetry`.
You can test that everything is set up by executing:
`poetry --version`
pdurbin@air ~ %
Seems to mostly work:
pdurbin@air ~ % .local/bin/poetry --version
/Users/pdurbin/Library/Application Support/pypoetry/venv/lib/python3.9/site-packages/urllib3/__init__.py:34: NotOpenSSLWarning: urllib3 v2.0 only supports OpenSSL 1.1.1+, currently the 'ssl' module is compiled with 'LibreSSL 2.8.3'. See: https://github.com/urllib3/urllib3/issues/3020
warnings.warn(
Poetry (version 1.6.1)
pdurbin@air ~ %
Small update here (and not to overcomplicate your life naturally), but I typically handle this through pyenv. We use Poetry for relatively painless dependency management, but with different Python versions, that still ends up as a metric ton of environments. Pyenv makes that less painful locally.
Sorry @Philip Durbin I saw your messages just now. Thanks for sharing, I was not aware of this! I usually set up my environments via conda and have not run into this.
Have you tried installing python-dvuploader via pip? Should work independent of the virtual environment.
Double-checked in a Colab and it works here
Right. I'm not particularly worried about Python DVUploader. python3 -m pip install dvuploader just worked great for me. However the new GDCC website instructions require poetry. It just feels like the bar is being raised a bit.
It just feels like the bar is being raised a bit.
That's a pity , should actually be the other way around :-(
I assume everyone has seen https://xkcd.com/1987/ :grinning:
My latest struggle: #python > poetry not working for python-dvuploader
My Mac got wiped. This time I'm trying brew install poetry. Wish me luck!
Last updated: Nov 01 2025 at 14:11 UTC