You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
According to the installation instructions, one should run pip install virtualenvwrapper to install virtualenvwrapper.
On Ubuntu 24 this fails due to the new managed env setup:
error: externally-managed-environment
× This environment is externally managed
╰─> To install Python packages system-wide, try apt install
python3-xyz, where xyz is the package you are trying to
install.
If you wish to install a non-Debian-packaged Python package,
create a virtual environment using python3 -m venv path/to/venv.
Then use path/to/venv/bin/python and path/to/venv/bin/pip. Make
sure you have python3-full installed.
If you wish to install a non-Debian packaged Python application,
it may be easiest to use pipx install xyz, which will manage a
virtual environment for you. Make sure you have pipx installed.
See /usr/share/doc/python3.12/README.venv for more information.
note: If you believe this is a mistake, please contact your Python installation or OS distribution provider. You can override this, at the risk of breaking your Python installation or OS, by passing --break-system-packages.
hint: See PEP 668 for the detailed specification.
My current workaround is using the sudo apt install python3-virtualenvwrapper command instead.
Can we add this to the Documentation somewhere? Maybe with a warning flag?
If Ubuntu's Python setup is sane and you're running the command from a non-root account, running pip install --user virtualenvwrapper should also work, to install to $HOME/.local/ instead.
(In fact, installing with --user is the default when running pip from a regular user account on Fedora, and I thought the PyPa was going to make it the default for pip across-the-board.)
On a Fedora 43 machine, from my user-1000 account (see first line of output):
$ pip install virtualenvwrapperDefaulting to user installation because normal site-packages is not writeableCollecting virtualenvwrapper Downloading virtualenvwrapper-6.1.1-py3-none-any.whl.metadata (5.1 kB)Requirement already satisfied: virtualenv in /usr/lib/python3.14/site-packages (from virtualenvwrapper) (20.35.4)Requirement already satisfied: virtualenv-clone in /usr/lib/python3.14/site-packages (from virtualenvwrapper) (0.5.7)Collecting stevedore (from virtualenvwrapper) Downloading stevedore-5.7.0-py3-none-any.whl.metadata (2.4 kB)Requirement already satisfied: distlib<1,>=0.3.7 in /usr/lib/python3.14/site-packages (from virtualenv->virtualenvwrapper) (0.4.0)Requirement already satisfied: filelock<4,>=3.12.2 in /usr/lib/python3.14/site-packages (from virtualenv->virtualenvwrapper) (3.15.4)Requirement already satisfied: platformdirs<5,>=3.9.1 in /usr/lib/python3.14/site-packages (from virtualenv->virtualenvwrapper) (4.2.2)Downloading virtualenvwrapper-6.1.1-py3-none-any.whl (22 kB)Downloading stevedore-5.7.0-py3-none-any.whl (54 kB)Installing collected packages: stevedore, virtualenvwrapperSuccessfully installed stevedore-5.7.0 virtualenvwrapper-6.1.1
Activity
carltongibson commentedon Apr 28, 2026
@SCrocky — Yes, an edit to the docs here would be great. (
apt install python3-virtualenvwrapper— this sounds like what Ubuntu wants you to do.)I actually use pipx in this case, as per the message, but you have to set
VIRTUALENVWRAPPER_VIRTUALENVin this case.ferdnyc commentedon May 4, 2026
If Ubuntu's Python setup is sane and you're running the command from a non-
rootaccount, runningpip install --user virtualenvwrappershould also work, to install to$HOME/.local/instead.(In fact, installing with
--useris the default when runningpipfrom a regular user account on Fedora, and I thought the PyPa was going to make it the default forpipacross-the-board.)On a Fedora 43 machine, from my user-1000 account (see first line of output):