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

Prefer 64-bit CPython for Windows downloads #1299

Open
segevfiner opened this issue Jul 25, 2018 · 12 comments
Open

Prefer 64-bit CPython for Windows downloads #1299

segevfiner opened this issue Jul 25, 2018 · 12 comments
Labels

Comments

@segevfiner
Copy link

@segevfiner segevfiner commented Jul 25, 2018

Is your feature request related to a problem? Please describe.
The download links for CPython for Windows (When browsing from Windows) link to the 32-bit version of Python. Considering that the Python launcher for Windows already prefers the 64-bit version (3.4.4.2. Customizing default Python versions), I would assume that the 64-bit version is preferred (I think 32-bit Windows is a rarity nowadays). Wouldn't it make sense to change it to the 64-bit version if the user is browsing from a 64-bit Windows?

The core developers for CPython on Windows should probably voice their opinion on this.

Describe the solution you'd like
The download links point to the 64-bit Python version.

Describe alternatives you've considered
It's also possible to link to both versions and let the user decide, with a link explaining the differences.

Additional context
For example, this link:
image

And there is another one on the download button hover in the top bar.
image

@Mariatta

This comment has been minimized.

Copy link
Member

@Mariatta Mariatta commented Jul 25, 2018

@zware

This comment has been minimized.

Copy link
Member

@zware zware commented Jul 26, 2018

My opinions: if we can reliably detect that the user is on 64-bit Windows, offer the 64-bit installer. If we can't do that reliably, offer links to both. If we can make a good guess, perhaps emphasize the one matching the platform we detected.

I definitely do not want to suddenly switch from unconditionally offering 32 to unconditionally offering 64.

@pfmoore

This comment has been minimized.

Copy link
Member

@pfmoore pfmoore commented Jul 26, 2018

I agree with @zware. The least-complex solution would be to just have two links, which I think is sufficient (and still a major improvement over just having the 32-bit installer). Being able to emphasise the "correct" one would be a bonus.

@berkerpeksag

This comment has been minimized.

Copy link
Member

@berkerpeksag berkerpeksag commented Jul 27, 2018

This is basically a duplicate of #171. See #1044 (comment) for my comment about using user agents to detect that the user is on 32-bit or 64-bit Windows.

@zooba

This comment has been minimized.

Copy link
Member

@zooba zooba commented Aug 7, 2018

I agree that just having both links is probably easiest and is sufficient.

I'd slightly prefer the 64-bit link to be less obvious (e.g. link text rather than a button), as the 32-bit version is going to work 100% of the time rather than 95% of the time, but I'm not hugely concerned.

@mwichmann

This comment has been minimized.

Copy link

@mwichmann mwichmann commented Jul 13, 2019

Well, time has passed, and the discussion has continued in many places and here we still are. So let me take this place to list some points coming out of dealing with a not-empty stream of grumps sent to the webmaster email, several quite recently. These comments aren't anything new I imagine.

  • 32 bit is the default without saying so; people assume we've detected the right version and offered it. Steve Dower still seems to feel strongly that 32-bit is the right default and he cites having access to metrics from the Windows ecosystem so I won't argue.
  • to get to the others you have to follow some text which is, umm, not quite clear for this case: Looking for Python with a different OS? 64-bit Windows might be called a different OS than 32-bit but I doubt most people would think of it that way.
  • alternatively, you can click on a release version, and then you have to scroll past release notes, which is trivial to do, but the first timer, in this age of "it better all be on one page" doesn't twig to the idea there's a list of downloads down at the end.
  • On the release-version page, the Windows versions don't say 32-bit and 64-bit, which I believe is the way most people know to refer to them these days, instead they try to use processor designations, including using ones that haven't been used in years and years (EM64T - that was used just briefly in like 2004-6, thereabouts - I was working at Intel at the time and was involved with the project and we were bemused by the multitude of name changes before and after release)
  • Nothing advises folks that there's nothing wrong with using the 32-bit Python on 64-bit windows so most are getting panicky for nothing.

Collectively we can improve this somehow, right?

@MaEtUgR

This comment has been minimized.

Copy link

@MaEtUgR MaEtUgR commented Aug 7, 2019

We also ran into 32-Bit being the implicit (big download button) default on the Windows download page. People are complaining that the mavsdk module cannot be installed on the "default" 32-Bit python version mavlink/MAVSDK-Python#88. We don't currently support 32-Bit with new projects in 2019, we consider it deprecated.

Could the Website offer two big buttons one clearly labeled 32-Bit and one 64-Bit?

That would not make anything the first click default if there are ongoing discussions about the which one should be.

@raionik

This comment has been minimized.

Copy link

@raionik raionik commented Dec 7, 2019

I think the problem here is "32 bit is the default without saying so"
32 Bits Python has problems with some popular AI/ML related packages.
If you are not going to change this, at least you should state that you are downloading a 32 bit version of Python.

@mwichmann

This comment has been minimized.

Copy link

@mwichmann mwichmann commented Dec 7, 2019

@zooba this topic rattles on and on, sorry... anything to add to this particular issue?

@zware

This comment has been minimized.

Copy link
Member

@zware zware commented Dec 9, 2019

It seems we have some consensus on just offering both links (perhaps with 64-bit slightly de-emphasized, but both clearly labeled); we just need someone to submit a PR. I have no idea how complex it's likely to be.

Agreed with @berkerpeksag that this is really a duplicate of #171.

@psifertex

This comment has been minimized.

Copy link

@psifertex psifertex commented Dec 19, 2019

It's worth pointing out that Python 2 is finally being EOL'ed in January and yet Python 3 came out 2 years after Vista which was the start of Microsoft's default to x64 OS (though technically even earlier releases of windows had x64 support).

Given that, I'd argue that this is not a duplicate of #171 as I'd very much support the decision to move to 64-bit by default with the optional 32-bit install as an available option for the minority of users who need it.

For what it's worth, I checked out a number of apps that might be installed adjacent on someone's windows computer that installs Python. I considered: VSCode, Notepad++, Sublime Text, the go installer, java, vlc, chrome, and firefox. Several default to x64, but show both links. Some include 64bit by default and make 32-bit harder to find or not at all. Among those that default to 32-bit, only VLC doesn't explicitly state it was 32-bit and include an immediately visible 64-bit link (though it is available via a drop-down, so still an improvement over python.org).

I'll take a look at a potential PR based on @zware's comment above.

@negasora

This comment has been minimized.

Copy link

@negasora negasora commented Dec 20, 2019

The installer linked to in the supernav for a given OS is determined by a "download_button" boolean field on the ReleaseFile model.

There is no "secondary download" boolean field (and imo it doesn't make sense to have one), so there's only one download option that can be displayed.

I'm not familiar with the method used for pushing new releases, but it seems like it'll just be ticking a different box on the latest release.

The other option is to add "32-bit" and "64-bit" boolean fields to ReleaseFile, and set download_button on the applicable 32-bit and 64-bit instances. I might make a PR for the latter, unless someone has a better idea.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
You can’t perform that action at this time.