镜像站点 · 本页由第三方 GitHub 只读镜像提供,非 GitHub 官方站点,不接受任何登录或凭据输入。前往 github.com
Skip to content

Installing via pip fails on Ubuntu 24 #122

Description

@SCrocky

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?

Activity

  1. carltongibson commented on Apr 28, 2026

    @carltongibson
    Contributor

    @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_VIRTUALENV in this case.

  2. ferdnyc commented on May 4, 2026

    @ferdnyc
    Contributor

    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 virtualenvwrapper
    Defaulting to user installation because normal site-packages is not writeable
    Collecting 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, virtualenvwrapper
    Successfully installed stevedore-5.7.0 virtualenvwrapper-6.1.1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions