classification
Title: Python Windows FAQ is Very Outdated
Type: enhancement Stage: resolved
Components: Documentation, Windows Versions: Python 3.4, Python 3.2, Python 3.3, Python 2.7
process
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: brian.curtin Nosy List: ashishnitinpatil, brian.curtin, docs@python, eric.araujo, ezio.melotti, michael.driscoll, python-dev, tim.golden, tshepang, weirdink13
Priority: normal Keywords: easy, patch

Created on 2012-05-24 15:26 by michael.driscoll, last changed 2012-12-25 23:29 by python-dev. This issue is now closed.

Files
File name Uploaded Description Edit
faq.patch ashishnitinpatil, 2012-12-07 18:21 Patch for Python on Windows FAQ Documentation review
faq+ack.patch ashishnitinpatil, 2012-12-07 20:37 Patch for Python on Windows FAQ Documentation review
Messages (22)
msg161519 - (view) Author: Michael Driscoll (michael.driscoll) * Date: 2012-05-24 15:26
I was reading through http://docs.python.org/faq/windows.html and noticed that its examples are based on Python 2.2-2.3 and it only really covers up to Windows 2000 with just a couple mentions of XP. 

There are also sections in there that I'm not even sure are still issues, such as the "Why does Python sometimes take so long to start?" and "Where is Freeze for Windows?". The latter should probably be a different question like "How do I make my program into an EXE?" or similar and then list some of the binary building scripts, like cx_freeze, py2exe, bbfreeze, etc, especially since the "freeze" script isn't included in the newer distros as far as I can tell. At least, it's not in the location that the FAQ says it is.

Do we even want the questions about NT and Windows 98? I would be happy to try to update the FAQ if my fellow developers can give me some direction on what we need to cut, keep and/or add.
msg161534 - (view) Author: Daniel Swanson (weirdink13) Date: 2012-05-24 22:19
I agree that Such things are most outdated and I think that if any Python users are still using platforms that old, that they are an extreme minority and also wonder what on (or off) Earth a Freeze is.
msg161594 - (view) Author: Michael Driscoll (michael.driscoll) * Date: 2012-05-25 18:14
Here are a few proposals that spring to mind:

1a) Update all Windows references to Windows 7 or Vista/7. We can include XP, but I think Microsoft is dropping support next year.

1b) Update all Python references to the current version instead of 2.2 and 2.3. I don't know why there's a mix of two different versions in the document anyway.

2) Drop the question "How do I make Python scripts executable?" Python files have been working on Windows for me since 2.5 just by double-clicking them. I don't see any reason to mention the command-file hack.

3) Drop the question "Why does Python sometimes take so long to start?" I personally haven't seen this happen except with some scripts that actually have a lot of stuff to load, like certain wxPython stuff I've written.

4) Change the question "Where is Freeze for Windows?" to the question "How do I make Python scripts into an executable?" and then drop all mention of ye olde "Freeze" and put some information in there pointing to PyInstaller, py2exe (last updated 2008, so maybe not?), cx_freeze, bb_freeze or whatever. 

5) I don't see any mention of PyWin32 or comtypes in the FAQ. While ctypes has a brief mention in the os.kill() section, it's not really explained. We might want to mention those.

6) We might want to drop the os.popen() stuff since that was deprecated / removed in favor of subprocess, right?

7) Drop the questions about Windows 95/98 issues

8) I don't think the question "How do I extract the downloaded documentation on Windows?" is even applicable any more

9) Is the question "Missing cw3215mt.dll (or missing cw3215.dll)" still relevant? I've never experienced that on any machine.
msg161596 - (view) Author: Éric Araujo (eric.araujo) * (Python committer) Date: 2012-05-25 18:43
The freeze script may have been moved in 3.2.
msg161597 - (view) Author: Éric Araujo (eric.araujo) * (Python committer) Date: 2012-05-25 18:46
Thanks for the detailed remarks.  Some of the proposed changes may not apply to the 2.7 and 3.2 versions, which for example support XP if I remember correctly.

1b: Sure, patch welcomed.

6: os.system is discouraged, but os.popen still exists in 3.x (it’s implemented on top of subprocess)

I leave the rest to the people with more Windows knowledge.
msg161603 - (view) Author: Michael Driscoll (michael.driscoll) * Date: 2012-05-25 19:06
I know Python 3.x still runs on XP too, but should we continue to mention it in our documentation? I don't know. Part of the reason I wrote up all that was to see if people had any well thought out arguments one way or the other on these things.

As for this freeze module, I can't find it even in Python 2.4's Tools folder or any other folder either.
msg161604 - (view) Author: Michael Driscoll (michael.driscoll) * Date: 2012-05-25 19:08
Should the patch for 1b replace Python 2.2 with Python 2.7/3.2 or just Python 3.2?
msg161606 - (view) Author: Brian Curtin (brian.curtin) * (Python committer) Date: 2012-05-25 19:12
I'd rather it tried to stay as version agnostic as could be, but favoring 3.x in general. I wouldn't tie it down to any particular version because we'll have to come back in several years and update Python 3.3 to Python 3.8.
msg161608 - (view) Author: Éric Araujo (eric.araujo) * (Python committer) Date: 2012-05-25 19:29
> I know Python 3.x still runs on XP too, but should we continue to mention it in our documentation? I don't know. Part
> of the reason I wrote up all that was to see if people had any well thought out arguments one way or the other on these things.

In my opinion it is simple.  PEP 11 defines when platforms are abandoned.  If a stable version like 3.2 supports XP, then its doc should say so.

> Should the patch for 1b replace Python 2.2 with Python 2.7/3.2 or just Python 3.2?

One patch for 2.7 can modernize the code, but as Brian said there is no reason to use 2.7-only idioms; just remove the really old or inelegant things.  (I haven’t looked at the FAQ to see what exactly is outdated.)

The patch for 3.2 will have to use 3.x syntax.  Note that you can make one of the two patches and let the committer port.
msg161611 - (view) Author: Michael Driscoll (michael.driscoll) * Date: 2012-05-25 19:43
Could we say just Python and ignore the version number? Or would Python 2.7 work for the 2.7 branch patch since there isn't supposed to be a 2.8 and then for Python 3 we could go with 3.x?
msg161612 - (view) Author: Éric Araujo (eric.araujo) * (Python committer) Date: 2012-05-25 19:47
I’m not sure we understand each other.  Can you give examples of the outdated code samples so that we can discuss something concrete?
msg161623 - (view) Author: Michael Driscoll (michael.driscoll) * Date: 2012-05-25 20:28
Okay. Here are a couple from http://docs.python.org/faq/windows.html#how-do-i-run-a-python-program-under-windows:

"You may also find that you have a Start-menu entry such as Start ‣ Programs ‣ Python 2.2 ‣ Python (command line)"

Then just a little farther down are several example paths with "c:\Python23\python"


Then in http://docs.python.org/faq/windows.html#how-can-i-embed-python-into-a-windows-application there's the following line:

"Do _not_ build Python into your .exe file directly. On Windows, Python must be a DLL to handle importing modules that are themselves DLL’s. (This is the first key undocumented fact.) Instead, link to pythonNN.dll; it is typically installed in C:\Windows\System. NN is the Python version, a number such as “23” for Python 2.3."


In http://docs.python.org/faq/windows.html#pyrun-simplefile-crashes-on-windows-but-not-on-unix-why there's this line:

"The Python 1.5.* DLLs (python15.dll) are all compiled with MS VC++ 5.0 and with multithreading-DLL options (/MD)."


I see fixed http://docs.python.org/faq/windows.html#how-do-i-emulate-os-kill-in-windows as it mentions BOTH Python 2.7 and 3.2
msg162162 - (view) Author: Daniel Swanson (weirdink13) Date: 2012-06-02 18:42
>>> 1a) Update all Windows references to Windows 7 or Vista/7. We can include XP, but I think Microsoft is dropping support next year.

According to wikipedia Windows XP is the second most popular operating system, probably better not to drop it all together. http://en.wikipedia.org/wiki/Usage_share_of_operating_systems

Of course there are people who have 5 or 6 computers and use the same windows disk on all of them which might skew the data.
msg177048 - (view) Author: Ashish Nitin Patil (ashishnitinpatil) * Date: 2012-12-06 19:10
Is anyone currently working on this issue? I am a newbie & am really looking forward to contributing, but, quite unsure of what exact changes need to be made to the FAQ documentation. The previous comments are very helpful & I am going to proceed with the same. Senior or Core developer suggestions/corrections are welcome anytime.
msg177072 - (view) Author: Ashish Nitin Patil (ashishnitinpatil) * Date: 2012-12-07 07:50
Found this - http://docs.python.org/3/using/windows.html
Seems like my work got a bit easy. Need to truncate the bits & bytes oof the document so as to fit with FAQ system. I think I will also need to do changes to the official wiki (online) too. Any help/suggestion is appreciated.
msg177107 - (view) Author: Ashish Nitin Patil (ashishnitinpatil) * Date: 2012-12-07 18:21
Made most of the relevant changes & updation to the FAQ.
1. Updated references to Windows 7/XP/Vista & dropped all references & solutions on older Windows.
2. Also, many of the ending FAQs like cw3215mt.dll, CTL3D32 were completely dropped as I found that the googled pages show most results(pages) dating back more than 10 years.
3. Modified the questioon on 'freeze' to 'conversion from py to exe'
4. Did not touch questions that I am not familiar with, like CGI, os.kill(), etc.
5. Dropped questions that were directly in respect to older (unsupported) Windows.
Any suggestion/correction is wel-received. My first patch! :-) \m/
msg177129 - (view) Author: Ashish Nitin Patil (ashishnitinpatil) * Date: 2012-12-07 20:37
Just added my name to the Misc/ACKS.
msg177635 - (view) Author: Brian Curtin (brian.curtin) * (Python committer) Date: 2012-12-16 23:16
Looks alright so far. I'm working on reviewing and applying it.
msg177636 - (view) Author: Roundup Robot (python-dev) Date: 2012-12-17 06:18
New changeset 5edbd93509b8 by Brian Curtin in branch '3.2':
Fix #14901. Update the Windows FAQ.
http://hg.python.org/cpython/rev/5edbd93509b8

New changeset fe20d5bf0c93 by Brian Curtin in branch 'default':
Add Ashish Nitin Patil for work on Issue #14901
http://hg.python.org/cpython/rev/fe20d5bf0c93

New changeset 81d1df1f512a by Brian Curtin in branch '2.7':
Fix #14901. Update some sections of Windows FAQ.
http://hg.python.org/cpython/rev/81d1df1f512a
msg177637 - (view) Author: Brian Curtin (brian.curtin) * (Python committer) Date: 2012-12-17 06:21
Thanks for the patch.
msg177829 - (view) Author: Ashish Nitin Patil (ashishnitinpatil) * Date: 2012-12-20 15:29
Always happy to contribute! My first! Looking forward to getting accustomed to it & doing my part for python.
msg178174 - (view) Author: Roundup Robot (python-dev) Date: 2012-12-25 23:29
New changeset e8793c5f0ebc by Chris Jerdonek in branch '3.2':
Fix Sphinx warning (missing "setting-envvars" reference).
http://hg.python.org/cpython/rev/e8793c5f0ebc
History
Date User Action Args
2012-12-25 23:29:37python-devsetmessages: + msg178174
2012-12-20 15:29:12ashishnitinpatilsetmessages: + msg177829
2012-12-17 06:21:20brian.curtinsetstatus: open -> closed
resolution: fixed
messages: + msg177637

stage: patch review -> resolved
2012-12-17 06:18:57python-devsetnosy: + python-dev
messages: + msg177636
2012-12-16 23:16:22brian.curtinsetassignee: docs@python -> brian.curtin
messages: + msg177635
2012-12-16 11:05:44pitrousetstage: needs patch -> patch review
2012-12-07 20:37:47ashishnitinpatilsetfiles: + faq+ack.patch

messages: + msg177129
2012-12-07 18:21:45ashishnitinpatilsetfiles: + faq.patch
keywords: + patch
messages: + msg177107
2012-12-07 07:50:07ashishnitinpatilsetmessages: + msg177072
2012-12-06 19:10:25ashishnitinpatilsetnosy: + ashishnitinpatil
messages: + msg177048
2012-10-26 18:11:31ezio.melottisetkeywords: + easy
versions: + Python 3.4
2012-06-02 18:42:43weirdink13setmessages: + msg162162
2012-05-25 20:28:35michael.driscollsetmessages: + msg161623
2012-05-25 19:47:39eric.araujosetmessages: + msg161612
2012-05-25 19:43:28michael.driscollsetmessages: + msg161611
2012-05-25 19:29:43eric.araujosetmessages: + msg161608
2012-05-25 19:12:46brian.curtinsetmessages: + msg161606
2012-05-25 19:08:41michael.driscollsetmessages: + msg161604
2012-05-25 19:06:47michael.driscollsetmessages: + msg161603
2012-05-25 18:46:22eric.araujosetmessages: + msg161597
2012-05-25 18:43:13eric.araujosetnosy: + eric.araujo
messages: + msg161596
2012-05-25 18:14:26michael.driscollsetmessages: + msg161594
2012-05-25 16:28:51tshepangsetnosy: + tshepang
2012-05-24 22:29:56ezio.melottisetnosy: + tim.golden, brian.curtin, ezio.melotti, docs@python
versions: - Python 2.6, Python 3.1, Python 3.4
assignee: docs@python
components: + Documentation
type: enhancement
stage: needs patch
2012-05-24 22:19:08weirdink13setnosy: + weirdink13
messages: + msg161534
2012-05-24 15:26:22michael.driscollsetcomponents: + Windows
versions: + Python 2.6, Python 3.1, Python 2.7, Python 3.2, Python 3.3, Python 3.4
2012-05-24 15:26:07michael.driscollcreate