This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
Title: Relocate user site packages on Windows 32-bit
Type: Stage: resolved
Components: Windows Versions: Python 3.10
process
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: steve.dower Nosy List: corona10, paul.moore, steve.dower, terry.reedy, tim.golden, zach.ware
Priority: normal Keywords: patch

Created on 2020-08-24 19:45 by steve.dower, last changed 2022-04-11 14:59 by admin. This issue is now closed.

Pull Requests
URL Status Linked Edit
PR 22098 merged steve.dower, 2020-09-04 20:37
Messages (6)
msg375860 - (view) Author: Steve Dower (steve.dower) * (Python committer) Date: 2020-08-24 19:45
Currently, the user site packages on Windows is %APPDATA%\Python\PythonXY. This can cause conflicts between the 32-bit and 64-bit versions of the runtime.

We should switch the pattern to Python{sys.winver}, which is XY or XY-32, the same as elsewhere.

This is a breaking change to tools that try to manage these directly, but it shouldn't need a deprecation cycle (there isn't really anywhere to raise a warning...). So I think we can just update Lib/sysconfig.py and Lib/site.py for 3.10, as well as the docs.
msg376085 - (view) Author: Terry J. Reedy (terry.reedy) * (Python committer) Date: 2020-08-29 22:24
If it is otherwise possible to user-only install both 32 and 64 bit versions, then using the same site-packages strikes me a bug, even if only fixed in the next version.
msg376142 - (view) Author: Dong-hee Na (corona10) * (Python committer) Date: 2020-08-31 08:40
> We should switch the pattern to Python{sys.winver}, which is XY or XY-32, the same as elsewhere.

+1
msg376401 - (view) Author: Steve Dower (steve.dower) * (Python committer) Date: 2020-09-04 20:41
> If it is otherwise possible to user-only install both 32 and 64 bit versions, then using the same site-packages strikes me a bug

It's very easy to install both 32 and 64-bit runtimes (and it doesn't matter if they're user or system installs).

But when you're installing packages in the nt_user scheme (--user with pip), you can only use one or the other. If you install with 32-bit runtime first, then you'll get 32-bit binaries installed and the 64-bit runtime won't try and install the package again (or it'll delete it and replace it with one that only works with the 64-bit runtime).

With the change in PR 22098, the 32-bit interpreter will install to a different location.
msg376418 - (view) Author: Steve Dower (steve.dower) * (Python committer) Date: 2020-09-04 23:46
New changeset dd18001c308fb3bb65006c91d95f6639583a3420 by Steve Dower in branch 'master':
bpo-41627: Distinguish 32 and 64-bit user site packages on Windows (GH-22098)
https://github.com/python/cpython/commit/dd18001c308fb3bb65006c91d95f6639583a3420
msg376419 - (view) Author: Steve Dower (steve.dower) * (Python committer) Date: 2020-09-04 23:46
> With the change in PR 22098, the 32-bit interpreter will install to a different location.

To clarify this, I meant the 32-bit interpreter will install *packages* to a different location (when using the user scheme).
History
Date User Action Args
2022-04-11 14:59:35adminsetgithub: 85793
2021-02-11 03:58:20eryksunlinkissue43195 superseder
2020-09-04 23:46:47steve.dowersetstatus: open -> closed
messages: + msg376419

assignee: steve.dower
resolution: fixed
stage: patch review -> resolved
2020-09-04 23:46:00steve.dowersetmessages: + msg376418
2020-09-04 20:41:03steve.dowersetmessages: + msg376401
2020-09-04 20:37:26steve.dowersetkeywords: + patch
stage: patch review
pull_requests: + pull_request21185
2020-08-31 08:40:38corona10setnosy: + corona10
messages: + msg376142
2020-08-29 22:24:29terry.reedysetnosy: + terry.reedy
messages: + msg376085
2020-08-24 19:45:31steve.dowercreate