cpython/PC
Mark Hammond f9bfdd850c Patch [ 983775 ] Allow bdist_wininst to install for non-admin users
to address bugs:
[ 555812 ] installing extension w/o admin rights
[ 555810 ] removing extensions without admin rights

* When enumerating the Python versions found, also remember the HKEY
  they were found under.
* When installing, if Python was installed under HKCU, we will too.
  If Python was installed under HKLM, we check the permissions of
  the current user, and install where we can.
* The "root" key we use is a global variable - all registry setting and
  delete functions use this global rather than a hardcoded HKLM.
* A new entry is written to the install log, indicating the key we used.
  Uninstallation is based on this key.
* 'tempnam()' is used rather than 'tmpnam()' - 'tmpnam' creates a temp
  file on the root of the current drive, and if this is readonly would
  explain the 'freopen' errors occasionally reported. 'tempnam'
  creates the temp file in the %TEMP% directory.
2004-07-02 23:53:16 +00:00
..
bdist_wininst Patch [ 983775 ] Allow bdist_wininst to install for non-admin users 2004-07-02 23:53:16 +00:00
example_nt Update the DLL example to work with Py2.4. 2004-05-15 07:39:00 +00:00
os2emx add AF_UNIX notes 2004-04-11 12:05:28 +00:00
os2vacpp OS/2 VACPP build updates/fixes 2004-03-29 11:53:38 +00:00
VC6 Teach MSVC 6 about pystrtod.c. 2004-06-08 20:32:58 +00:00
_winreg.c Remove all uses of alloca() from this module. The alloca() return value 2003-11-30 22:01:43 +00:00
.cvsignore To build on windows, the manual editing of the python_nt.rc file to 2003-10-10 16:57:45 +00:00
config.c Remove the pcre module. 2004-06-02 18:58:55 +00:00
dl_nt.c Patch #411138: Rename config.h to pyconfig.h. Closes bug #231774. 2001-07-26 13:41:06 +00:00
dllbase_nt.txt Update to record .pyd files removed for Python 2.4. 2004-01-04 03:00:51 +00:00
frozen_dllmain.c Remove some debugging messages - although this code is a complete hack, we dont need to announce it to the world every time they use freeze! 2000-10-05 22:10:33 +00:00
getpathp.c Remove a stray single quote. 2003-08-18 17:53:33 +00:00
import_nt.c PyWin_FindRegisteredModule(): Conversion of sprintf() to 2001-11-28 21:03:37 +00:00
make_versioninfo.c To build on windows, the manual editing of the python_nt.rc file to 2003-10-10 16:57:45 +00:00
msvcrtmodule.c Use symbolic METH_VARARGS instead of 1 for ml_flags 2002-03-31 14:37:44 +00:00
py.ico Icons for Windows installer. 1997-11-26 05:14:14 +00:00
pyc.ico Different .pyc icon - use "paler" colors to better differentiate it from the main .py icon. As discussed with Tim (prompted by cl.lpy posting) 2002-04-11 05:40:34 +00:00
pycon.ico Icons for Windows installer. 1997-11-26 05:14:14 +00:00
pyconfig.h remove support for missing ANSI C header files (limits.h, stddef.h, etc). 2004-02-10 16:50:21 +00:00
python_exe.rc Add pretty icon to python.exe 1997-12-05 06:31:40 +00:00
python_nt.rc Changed company name to PSF. Added 2004 to copyright years. 2004-05-11 18:14:05 +00:00
python.mk Jim A's new versions of these 1998-08-03 20:23:42 +00:00
readme.txt Move VC6 project files here. 2004-01-02 21:15:07 +00:00
testpy.py Jim Ahlstrom's contributions for DOS, OS/2, WIN3.1. 1997-05-19 14:16:21 +00:00
w9xpopen.c WINDOWS_LEAN_AND_MEAN: There is no such symbol, although a very few 2002-07-14 22:14:19 +00:00
WinMain.c Excise DL_EXPORT/DL_IMPORT from Modules/*. Required adding a prototype 2002-08-02 02:27:13 +00:00
winsound.c sound_playsound() doesn't have to be visible externally, 2003-05-22 17:22:54 +00:00

Welcome to the "PC" subdirectory of the Python distribution
***********************************************************

*** Note: the project files for MS VC++ 7.1 are now in the
*** PCbuild directory.  See the file readme.txt there for build
*** instructions.  There is some information below that might
*** still be relevant.

This "PC" subdirectory contains complete project files to make
several older PC ports of Python, as well as all the PC-specific
Python source files.  It should be located in the root of the
Python distribution, and there should be directories "Modules",
"Objects", "Python", etc. in the parent directory of this "PC"
subdirectory.  Be sure to read the documentation in the Python
distribution.

Python requires library files such as string.py to be available in
one or more library directories.  The search path of libraries is
set up when Python starts.  To see the current Python library search
path, start Python and enter "import sys" and "print sys.path".

All PC ports use this scheme to try to set up a module search path:

  1) The script location; the current directory without script.
  2) The PYTHONPATH variable, if set.
  3) For Win32 platforms (NT/95), paths specified in the Registry.
  4) Default directories lib, lib/win, lib/test, lib/tkinter;
     these are searched relative to the environment variable
     PYTHONHOME, if set, or relative to the executable and its
     ancestors, if a landmark file (Lib/string.py) is found ,
     or the current directory (not useful).
  5) The directory containing the executable.

The best installation strategy is to put the Python executable (and
DLL, for Win32 platforms) in some convenient directory such as
C:/python, and copy all library files and subdirectories (using XCOPY)
to C:/python/lib.  Then you don't need to set PYTHONPATH.  Otherwise,
set the environment variable PYTHONPATH to your Python search path.
For example,
   set PYTHONPATH=.;d:\python\lib;d:\python\lib\win;d:\python\lib\dos-8x3

There are several add-in modules to build Python programs which use
the native Windows operating environment.  The ports here just make
"QuickWin" and DOS Python versions which support a character-mode
(console) environment.  Look in www.python.org for Tkinter, PythonWin,
WPY and wxPython.

To make a Python port, start the Integrated Development Environment
(IDE) of your compiler, and read in the native "project file"
(or makefile) provided.  This will enable you to change any source
files or build settings so you can make custom builds.

pyconfig.h    An important configuration file specific to PC's.

config.c    The list of C modules to include in the Python PC
            version.  Manually edit this file to add or
            remove Python modules.

testpy.py   A Python test program.  Run this to test your
            Python port.  It should produce copious output,
	    ending in a report on how many tests were OK, how many
	    failed, and how many were skipped.  Don't worry about
	    skipped tests (these test unavailable optional features).


Additional files and subdirectories for 32-bit Windows
======================================================

python_nt.rc   Resource compiler input for python15.dll.

dl_nt.c, import_nt.c
               Additional sources used for 32-bit Windows features.

getpathp.c     Default sys.path calculations (for all PC platforms).

dllbase_nt.txt A (manually maintained) list of base addresses for
               various DLLs, to avoid run-time relocation.

example_nt     A subdirectory showing how to build an extension as a
               DLL.

Visual Studio 6.0
=================
The subdirectory VC6 contains Visual Studio 6 project files. These
were originally located in the PCBuild directory, but are no longer
maintained.


IBM VisualAge C/C++ for OS/2
============================

See os2vacpp/readme.txt.  This platform is supported by Jeff Rush.


Note for Windows 3.x and DOS users
==================================

Neither Windows 3.x nor DOS is supported any more.  The last Python
version that supported these was Python 1.5.2; the support files were
present in Python 2.0 but weren't updated, and it is not our intention
to support these platforms for Python 2.x.