cpython/PC
Victor Stinner 0faa0ba240
gh-92584: Remove the distutils package (#99061)
Remove the distutils package. It was deprecated in Python 3.10 by PEP
632 "Deprecate distutils module". For projects still using distutils
and cannot be updated to something else, the setuptools project can
be installed: it still provides distutils.

* Remove Lib/distutils/ directory
* Remove test_distutils
* Remove references to distutils
* Skip test_check_c_globals and test_peg_generator since they use
  distutils
2022-11-03 19:27:27 +01:00
..
clinic gh-97728: Argument Clinic: Fix uninitialized variable in the Py_UNICODE converter (GH-97729) 2022-10-03 10:42:54 +03:00
icons Optimize images by IMGbot (GH-21348) 2022-02-04 15:49:43 +09:00
layout gh-92584: Remove the distutils package (#99061) 2022-11-03 19:27:27 +01:00
_msi.c gh-96577: Fixes buffer overrun in _msi module (GH-96633) 2022-09-07 18:01:35 +01:00
_testconsole.c bpo-46303: Fix fileutils.h compiler warnings (GH-30550) 2022-01-12 00:35:26 +01:00
_wmimodule.cpp gh-96684: Silently suppress COM security errors in _wmi module (GH-96690) 2022-09-08 22:02:04 +01:00
classicAppCompat.can.xml bpo-46629: Update classicAppCompat.sccd for new signing certificate (GH-31111) 2022-02-04 16:11:19 +00:00
classicAppCompat.cat bpo-34977: Add Windows App Store package (GH-11027) 2018-12-10 18:52:57 -08:00
classicAppCompat.sccd bpo-46629: Update classicAppCompat.sccd for new signing certificate (GH-31111) 2022-02-04 16:11:19 +00:00
config_minimal.c bpo-45582: Port getpath[p].c to Python (GH-29041) 2021-12-03 00:08:42 +00:00
config.c Add tests for the C tokenizer and expose it as a private module (GH-27924) 2021-08-24 17:50:05 +01:00
crtlicense.txt Implement Windows release builds in Azure Pipelines (GH-14065) 2019-06-14 08:29:20 -07:00
dl_nt.c bpo-41054: Simplify resource compilation on Windows (GH-21004) 2020-06-23 20:05:57 +01:00
errmap.h bpo-37705: Improve the implementation of winerror_to_errno() (GH-15623) 2019-09-09 02:35:08 -07:00
frozen_dllmain.c Use GetModuleHandleW to avoid *A functions where possible. 2012-01-14 17:54:09 +01:00
invalid_parameter_handler.c Issue #23524: Replace _PyVerify_fd function with calls to _set_thread_local_invalid_parameter_handler. 2015-04-12 00:26:27 -04:00
launcher2.c gh-98692: Enable treating shebang lines as executables in py.exe launcher (GH-98732) 2022-10-31 21:05:50 +00:00
launcher-usage.txt bpo-46566: Add new py.exe launcher implementation (GH-32062) 2022-03-29 00:21:08 +01:00
launcher.c gh-90844: Allow virtual environments to correctly launch when they have spaces in the path (GH-94903) 2022-07-16 17:38:36 +01:00
msvcrtmodule.c gh-94512: Fix forced arg format in AC-processed msvcrtmodule (GH-94514) 2022-07-04 14:09:34 +01:00
pyconfig.h gh-95174: WASI: skip missing sockets functions (GH-95179) 2022-07-27 08:19:23 +02:00
pylauncher.rc bpo-46566: Add new py.exe launcher implementation (GH-32062) 2022-03-29 00:21:08 +01:00
pyshellext.cpp bpo-41070: Simplify pyshellext.dll build (GH-21037) 2020-06-24 00:32:23 +01:00
pyshellext.def bpo-41070: Simplify pyshellext.dll build (GH-21037) 2020-06-24 00:32:23 +01:00
pyshellext.rc bpo-45220: Ensure RT_MANIFEST is defined when compiling Windows resource files (GH-29501) 2021-11-09 20:12:53 +00:00
python3dll.c gh-98586: Add vector call APIs to the Limited API (GH-98587) 2022-10-27 11:45:42 +02:00
python_exe.rc bpo-45220: Ensure RT_MANIFEST is defined when compiling Windows resource files (GH-29501) 2021-11-09 20:12:53 +00:00
python_nt.rc bpo-45220: Ensure RT_MANIFEST is defined when compiling Windows resource files (GH-29501) 2021-11-09 20:12:53 +00:00
python_uwp.cpp bpo-38304: PyConfig_InitPythonConfig() cannot fail anymore (GH-16509) 2019-10-01 12:06:16 +02:00
python_ver_rc.h Update copyright year to 2022. (GH-30335) 2022-01-02 12:08:48 -08:00
python.manifest bpo-30731: python.manifest fix (#2328) 2017-07-13 21:34:42 +02:00
pythonw_exe.rc bpo-45220: Ensure RT_MANIFEST is defined when compiling Windows resource files (GH-29501) 2021-11-09 20:12:53 +00:00
readme.txt Delete DOS-only PC/testpy.py (GH-94419) 2022-06-30 14:17:35 +01:00
sqlite3.rc bpo-45220: Ensure RT_MANIFEST is defined when compiling Windows resource files (GH-29501) 2021-11-09 20:12:53 +00:00
store_info.txt bpo-44740: Lowercase "internet" and "web" where appropriate. (#27378) 2021-07-27 00:11:55 +02:00
validate_ucrtbase.py Issue #27705: Update message in validate_ucrtbase.py 2016-09-09 18:21:15 -07:00
WinMain.c bpo-45434: pyport.h no longer includes <stdlib.h> (GH-28914) 2021-10-13 19:25:53 +02:00
winreg.c gh-95423: Update winreg.DeleteKeyEx documentation and remove dynamic function load (GH-95521) 2022-08-03 21:55:03 +01:00
winsound.c gh-91061: also accept pathlib.Path for winsound.PlaySound (#91489) 2022-05-22 18:54:24 -07:00

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

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) 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 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.


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

python_nt.rc   Resource compiler input for python15.dll.

dl_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.


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.