Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Windows default installation path is inconsistent between per-user and system-wide installation #69351

Closed
chrullrich mannequin opened this issue Sep 18, 2015 · 7 comments
Labels
OS-windows topic-installation type-bug An unexpected behavior, bug, or error

Comments

@chrullrich
Copy link
Mannequin

chrullrich mannequin commented Sep 18, 2015

BPO 25164
Nosy @pfmoore, @tjguk, @zware, @eryksun, @zooba, @chrullrich

Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.

Show more details

GitHub fields:

assignee = None
closed_at = <Date 2015-10-14.22:17:32.370>
created_at = <Date 2015-09-18.08:21:22.337>
labels = ['type-bug', 'expert-installation', 'OS-windows']
title = 'Windows default installation path is inconsistent between per-user and system-wide installation'
updated_at = <Date 2015-10-14.22:17:32.370>
user = 'https://github.com/chrullrich'

bugs.python.org fields:

activity = <Date 2015-10-14.22:17:32.370>
actor = 'steve.dower'
assignee = 'none'
closed = True
closed_date = <Date 2015-10-14.22:17:32.370>
closer = 'steve.dower'
components = ['Installation', 'Windows']
creation = <Date 2015-09-18.08:21:22.337>
creator = 'chrullrich'
dependencies = []
files = []
hgrepos = []
issue_num = 25164
keywords = []
message_count = 7.0
messages = ['250956', '251382', '251443', '251474', '251478', '253012', '253013']
nosy_count = 7.0
nosy_names = ['paul.moore', 'tim.golden', 'python-dev', 'zach.ware', 'eryksun', 'steve.dower', 'chrullrich']
pr_nums = []
priority = 'normal'
resolution = 'fixed'
stage = 'resolved'
status = 'closed'
superseder = None
type = 'behavior'
url = 'https://bugs.python.org/issue25164'
versions = ['Python 3.5']

@chrullrich
Copy link
Mannequin Author

chrullrich mannequin commented Sep 18, 2015

On Windows, a per-user installation uses %LOCALAPPDATA%\Programs\Python\Python35 as the default target directory. A system-wide (InstallAllUsers=1) installation, however, goes into "%PROGRAMFILES%\Python 3.5" instead. The two directory names should be consistent with each other (and with earlier versions), that is, should be "Python35" in all cases.

@chrullrich chrullrich mannequin added topic-installation OS-windows type-bug An unexpected behavior, bug, or error labels Sep 18, 2015
@zooba
Copy link
Member

zooba commented Sep 23, 2015

Might be too much of a breaking change for 3.5.1 - what do the other Windows guys think about making them both "Python 3.5" (or "Python 3.5-32" in the per-user case, to avoid conflicting with a 64-bit install)?

@tjguk
Copy link
Member

tjguk commented Sep 23, 2015

I don't feel that strongly, but my preference would be
"python35[-whatever]" rather than the version with the spaces & the
dots. Both for ease of use and for some kind of continuity with the
c:\pythonxy we've had for many years.

@eryksun
Copy link
Contributor

eryksun commented Sep 24, 2015

Also, why does the per-user install path have a seemingly pointless "Python" base directory? I expected it to install directly into FOLDERID_UserProgramFiles, to be consistent with installing to FOLDERID_ProgramFiles.

Also, I doubt anyone cares, but the roaming "user scheme" is still using the name "Python35" without appending a -32 suffix. So 32-bit and 64-bit --user installs are still competing for the same site-packages directory. I know, hardly anyone seems to use this. I doubt Jane User wants large packages such as PyQt4 and SciPy in her roaming profile.

@zooba
Copy link
Member

zooba commented Sep 24, 2015

Good question on the extra "Python" directory - I don't recall exactly why that was there, but I suspect it was for consistency with something - probably {userbase} from sysconfig.

Also, thanks for catching the user scheme difference. We shouldn't really be installing any packages into the Roaming profile at all, but as this is a highly underused feature it's not a big deal. (And since we add platform tags to .pyd files now it can actually be used successfully, but I suspect that involves more care.)

@python-dev
Copy link
Mannequin

python-dev mannequin commented Oct 14, 2015

New changeset be92f6ce1e80 by Steve Dower in branch '3.5':
Issue bpo-25164: Changes default all-users install directory to match per-user directory.
https://hg.python.org/cpython/rev/be92f6ce1e80

@zooba
Copy link
Member

zooba commented Oct 14, 2015

I don't think it will be a significant breaking change at this stage to update the default all-user install directory, since everyone *should* be resolving it through the registry keys or overriding it on installation. Upgrading from 3.5.0 will not change to the new directory, so it only affects new installs.

The change is that the directory is named "Python35" or "Python35-32" under either %ProgramFiles% or %LocalAppData%\Programs\Python. (This is not a change in the latter case.)

@zooba zooba closed this as completed Oct 14, 2015
@ezio-melotti ezio-melotti transferred this issue from another repository Apr 10, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
OS-windows topic-installation type-bug An unexpected behavior, bug, or error
Projects
None yet
Development

No branches or pull requests

3 participants