Skip to content

Installing pip for Python 3 may overwrite Python 2 scripts #1294

Closed

Description

@ncoghlan

pip installs the unversioned scripts for pip and easy_install unconditionally, even when running in a global Python 3 install on a *nix system with a shared binary directory.

This issue currently affects the ensurepip bundling with CPython: http://bugs.python.org/issue19406

At the very least, we need pip to support an "--altinstall" equivalent that only installs the fully qualified versioned scripts.

It would also be useful to be able to install just pip3 and pip3.4 without installing the unqualified version (we would probably configure ensurepip to do that by default when outside virtual environments on *nix systems).

Activity

  1. dstufft commented on Nov 4, 2013

    @dstufft
    Member

    So the versioned commands are a hack right now that we added until metadata 2.0 has proper support for them. Due to their hackish nature we're loathe to add a "proper" support for them until metadata 2.0 has and figuring out how to handle that case in the general case with flags or what not.

    So what i'd like to do, thinking about it. Is a hidden flag or environment variable that ensurepip could use to say which scripts it wants installed. This would be undocumented and exist soley for ensurepip. Then when metadata 2.0 gets proper support for this feature we can expose real flags after some discussion about how to do that.

    Does that sound reasonable?

  2. pfmoore commented on Nov 4, 2013

    @pfmoore
    Member

    Agreed, let's not try to solve this issue "properly" without metadata support.

    Is there a list of issues that need to be considered for the entry point / script wrapper support in metadata 2.0? This issue should be captured on that so that it doesn't get forgotten when we do have that debate.

  3. ncoghlan commented on Nov 4, 2013

    @ncoghlan
    MemberAuthor

    Sounds good - metadata issues can be reported against the PyPA metadata
    project on BitBucket.

  4. added
    auto-lockedOutdated issues that have been locked by automation
    on Jun 5, 2019
  5. locked as resolved and limited conversation to collaborators on Jun 5, 2019
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

    auto-lockedOutdated issues that have been locked by automation

    Projects

    No projects

      Milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions