Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • pypy pypy
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 676
    • Issues 676
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 13
    • Merge requests 13
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Container Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar

April 05-07 - Mercurial Paris Conference 2023 - One day of workshop dedicated to Heptapod and Mercurial usage and workflow. There are still places available for both workshops and talks!

  • PyPyPyPy
  • pypypypy
  • Issues
  • #3155
Closed
Open
Issue created Jan 17, 2020 by Bitbucket Importer@bitbucket_importerMaintainer

pypy on Windows uses non Windows install path

Created originally on Bitbucket by Bernat Gabor

The destination folder to install pip packages is delegated by pip to distutils, more specifically to distutils install command (https://github.com/pypa/pip/blob/master/src/pip/_internal/locations.py#L95-L129). The distutils install command performs a lookup to determine the schemes to use, this happens here (https://bitbucket.org/pypy/pypy/src/release-pypy3.6-v7.3.0/lib-python/3/distutils/command/install.py#lines-464:466) and is unconditionally set to pypy. The pypy schema is defined under https://bitbucket.org/pypy/pypy/src/release-pypy3.6-v7.3.0/lib-python/3/distutils/command/install.py#lines-46:52. The problem is the following line:

'scripts': '$base/bin',

On all platforms the script folder is bin. The venv module though sets the script folder to Scripts, here (https://bitbucket.org/pypy/pypy/src/release-pypy3.6-v7.3.0/lib-python/3/venv/__init__.py#lines-131). The combination of these two causes pypy3 virtual environments to have their python executables on Windows using the Script folder, while pip installing all-new executable to the bin folder (a UNIX flavoured name). Is this duality intended?

‌

A side effect of this is that activator scripts only cover now the python executables, not libraries.

Edited Feb 12, 2023 by Matti Picus
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking