[Distutils] PEP 453 - virtualenv change to Scripts/bin directory

Paul Moore p.f.moore at gmail.com
Wed Oct 16 00:39:19 CEST 2013


On 15 October 2013 23:17, Paul Moore <p.f.moore at gmail.com> wrote:
> 1. Use bin instead of Scripts (which means changing sysconfig and
> possibly distutils or 3rd party tools that hard code the name rather
> than using sysconfig).

By the way, I just did a scan. The following from the cpython repo
will need to change:

1. The sysconfig schemes
2. distutils/commands/install.py (hard coded INSTALL_SCHEMES variable)
3. PC\bdist_wininst\install.c (SCHEME variables hard code Scripts as
the target for the SCRIPTS section)
4. venv (already noted) code and tests
5. Documentation
6. The installer scripts in Tools\msi\msi.py

Also, as a result of (3) existing wininst installers will not install
correctly on Python 3.4+ (they'll put their scripts in "Scripts"
still). So projects will need to distribute separate installers for
Python <= 3.3 and 3.4+ if they contain scripts. (This problem goes
away in the long term if everyone switches to wheels, of course).

I don't know if bdist_msi has similar issues. That code is not
something I understand. There's no mention of the Scripts directory so
I suspect item (2) will take care of building bdist_msi installers.
But I don't know if they will have the runtime issue that wininst has
of installing to whatever scripts directory the build was done on,
rather than the one appropriate for the Python being installed to.

Paul


More information about the Distutils-SIG mailing list