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.