mirror of https://github.com/python/cpython
5473410ee7
........ r66721 | barry.warsaw | 2008-10-02 03:33:51 +0000 (Do, 02 Okt 2008) | 1 line Bump to 2.7a0 ........ r66722 | martin.v.loewis | 2008-10-02 11:44:17 +0000 (Do, 02 Okt 2008) | 1 line Use CRT 9 policy files. ........ r66744 | benjamin.peterson | 2008-10-02 19:00:31 +0000 (Do, 02 Okt 2008) | 1 line we're in 2.7 now ........ r66745 | georg.brandl | 2008-10-02 19:09:47 +0000 (Do, 02 Okt 2008) | 2 lines Forward-port r66736. ........ r66752 | martin.v.loewis | 2008-10-02 20:04:47 +0000 (Do, 02 Okt 2008) | 2 lines Add UUID for 2.7. ........ r66756 | benjamin.peterson | 2008-10-02 20:46:58 +0000 (Do, 02 Okt 2008) | 1 line update pydoc topics ........ r66763 | neal.norwitz | 2008-10-03 04:13:08 +0000 (Fr, 03 Okt 2008) | 1 line Update the version to 2.7. Hopefully this fixes the test_distutils failure ........ r66764 | martin.v.loewis | 2008-10-03 08:59:41 +0000 (Fr, 03 Okt 2008) | 2 lines Bump version to 2.7. Regenerate. ........ r66765 | martin.v.loewis | 2008-10-03 10:59:55 +0000 (Fr, 03 Okt 2008) | 1 line Update version number to 2.7. ........ r66768 | hirokazu.yamamoto | 2008-10-03 16:07:28 +0000 (Fr, 03 Okt 2008) | 1 line Follows to python's version change (VC6) ........ r66791 | andrew.kuchling | 2008-10-04 16:52:31 +0000 (Sa, 04 Okt 2008) | 1 line Add What's New for 2.7 ........ r66792 | benjamin.peterson | 2008-10-04 17:10:14 +0000 (Sa, 04 Okt 2008) | 1 line silence Sphinx warning ........ r66822 | skip.montanaro | 2008-10-07 01:55:20 +0000 (Di, 07 Okt 2008) | 2 lines Simplify individual tests by defining setUp and tearDown methods. ........ r66823 | skip.montanaro | 2008-10-07 02:02:00 +0000 (Di, 07 Okt 2008) | 2 lines Pay attention to -R entries in LDFLAGS. ........ r66832 | skip.montanaro | 2008-10-07 15:03:40 +0000 (Di, 07 Okt 2008) | 1 line save/restore stdout/stderr instead of relying on __*__ versions ........ r66836 | amaury.forgeotdarc | 2008-10-07 20:32:10 +0000 (Di, 07 Okt 2008) | 5 lines #4069: aSet.remove(otherSet) would always report the empty frozenset([]) as the missing key. Now it correctly refers to the initial otherset. Reviewed by Raymond. Will backport to 2.6. ........ r66852 | andrew.kuchling | 2008-10-08 13:21:27 +0000 (Mi, 08 Okt 2008) | 1 line Note how bytes alias is expected to be used ........ r66857 | georg.brandl | 2008-10-08 18:57:13 +0000 (Mi, 08 Okt 2008) | 2 lines Make all whatsnew docs accessible. ........ r66868 | matthias.klose | 2008-10-10 07:24:20 +0000 (Fr, 10 Okt 2008) | 2 lines - Makefile.pre.in(PROFILE_TASK): search files in srcdir ........ r66878 | benjamin.peterson | 2008-10-11 17:25:36 +0000 (Sa, 11 Okt 2008) | 4 lines give poplib a real test suite #4088 from Giampaolo Rodola'x ........ r66894 | benjamin.peterson | 2008-10-14 22:37:18 +0000 (Di, 14 Okt 2008) | 1 line remove set compat cruft ........ r66902 | skip.montanaro | 2008-10-15 11:49:10 +0000 (Mi, 15 Okt 2008) | 1 line easter egg ........ r66912 | hirokazu.yamamoto | 2008-10-16 06:25:25 +0000 (Do, 16 Okt 2008) | 2 lines removed unused _PyUnicode_FromFileSystemEncodedObject. made win32_chdir, win32_wchdir static. ........ r66989 | matthias.klose | 2008-10-21 09:12:25 +0000 (Di, 21 Okt 2008) | 2 lines - install versioned manpage ........ r66994 | amaury.forgeotdarc | 2008-10-21 22:01:38 +0000 (Di, 21 Okt 2008) | 6 lines #4157 move two test functions out of platform.py. Turn them into unit tests, and correct an obvious typo: (("a", "b") ("c", "d") ("e", "f")) compiles even with the missing commas, but does not execute very well... ........ r67013 | benjamin.peterson | 2008-10-25 02:53:28 +0000 (Sa, 25 Okt 2008) | 1 line give a py3k warning when 'nonlocal' is used as a variable name ........ r67015 | georg.brandl | 2008-10-25 07:00:52 +0000 (Sa, 25 Okt 2008) | 2 lines Typo fix. ........ r67049 | amaury.forgeotdarc | 2008-10-30 21:18:34 +0000 (Do, 30 Okt 2008) | 8 lines Issue #4176: Pickle would crash the interpreter when a __reduce__ function does not return an iterator for the 4th and 5th items. (sequence-like and mapping-like state) A list is not an iterator... Will backport to 2.6 and 2.5. ........ r67065 | benjamin.peterson | 2008-10-30 23:59:18 +0000 (Do, 30 Okt 2008) | 1 line move unprefixed error into .c file ........ r67171 | benjamin.peterson | 2008-11-08 18:38:54 +0000 (Sa, 08 Nov 2008) | 4 lines check for assignment to __debug__ during AST generation Also, give assignment to None a better error message ........ r67226 | brett.cannon | 2008-11-15 22:40:44 +0000 (Sa, 15 Nov 2008) | 4 lines The docs for httplib.HTTPConnection.putheader() have claimed for quite a while that their could be an arbitrary number of values passed in. Turns out the code did not match that. The code now matches the docs. ........ r67234 | benjamin.peterson | 2008-11-16 17:54:55 +0000 (So, 16 Nov 2008) | 1 line run autoconf ........ r67287 | josiah.carlson | 2008-11-19 18:26:12 +0000 (Mi, 19 Nov 2008) | 2 lines Fix for issue 4332 in trunk. ........ r67342 | amaury.forgeotdarc | 2008-11-22 19:39:38 +0000 (Sa, 22 Nov 2008) | 3 lines yuvconvert.c is a part of the "sv" module, an old IRIX thing and certainly not useful for any Windows build. ........ r67348 | benjamin.peterson | 2008-11-23 02:09:41 +0000 (So, 23 Nov 2008) | 1 line raise a better error ........ r67349 | matthias.klose | 2008-11-23 13:37:03 +0000 (So, 23 Nov 2008) | 3 lines - Modules/Setup.dist: Mention _functools in section "Modules that should always be present (non UNIX dependent)" ........ r67353 | matthias.klose | 2008-11-23 13:54:42 +0000 (So, 23 Nov 2008) | 2 lines - Fix typo in last checkin ........ r67396 | matthias.klose | 2008-11-26 17:32:49 +0000 (Mi, 26 Nov 2008) | 2 lines - Modules/Setup.dist: Mention _elementtree and _pickle. ........ r67407 | matthias.klose | 2008-11-27 07:45:25 +0000 (Do, 27 Nov 2008) | 2 lines - Modules/Setup.dist: Update pyexpat ........ r67411 | matthias.klose | 2008-11-27 10:14:22 +0000 (Do, 27 Nov 2008) | 2 lines - Modules/Setup.dist: Update _elementtree, add _bisect, datetime ........ r67442 | jeremy.hylton | 2008-11-29 01:09:35 +0000 (Sa, 29 Nov 2008) | 18 lines Send HTTP headers and message body in a single send() call. This change addresses part of issue 4336. Change endheaders() to take an optional message_body argument that is sent along with the headers. Change xmlrpclib and httplib's other methods to use this new interface. It is more efficient to make a single send() call, which should get the entire client request into one packet (assuming it is smaller than the MTU) and will avoid the long pause for delayed ack following timeout. Also: - Add a comment about the buffer size for makefile(). - Extract _set_content_length() method and fix whitespace issues there. ........ r67511 | vinay.sajip | 2008-12-03 23:22:58 +0000 (Mi, 03 Dez 2008) | 1 line Issue #4384: Added logging integration with warnings module using captureWarnings(). This change includes a NullHandler which does nothing; it will be of use to library developers who want to avoid the "No handlers could be found for logger XXX" message which can appear if the library user doesn't configure logging. ........ r67521 | christian.heimes | 2008-12-04 14:34:40 +0000 (Do, 04 Dez 2008) | 1 line Bumped up 2.6 to 2.7 ........ r67536 | gregory.p.smith | 2008-12-04 20:21:09 +0000 (Do, 04 Dez 2008) | 3 lines Adds a subprocess.check_call_output() function to return the output from a process on success or raise an exception on error. ........ r67537 | vinay.sajip | 2008-12-04 20:32:18 +0000 (Do, 04 Dez 2008) | 1 line Took Nick Coghlan's advice about importing warnings globally in logging, to avoid the possibility of race conditions: "This could deadlock if a thread spawned as a side effect of importing a module happens to trigger a warning. warnings is pulled into sys.modules as part of the interpreter startup - having a global 'import warnings' shouldn't have any real effect on logging's import time." ........ r67543 | gregory.p.smith | 2008-12-05 02:27:01 +0000 (Fr, 05 Dez 2008) | 2 lines rename the new check_call_output to check_output. its less ugly. ........ r67572 | georg.brandl | 2008-12-05 09:23:14 +0000 (Fr, 05 Dez 2008) | 2 lines #4458: recognize "-" as an argument, not a malformed option in gnu_getopt(). ........ r67584 | fred.drake | 2008-12-05 15:52:25 +0000 (Fr, 05 Dez 2008) | 2 lines bump version number ........ r67587 | fred.drake | 2008-12-05 16:14:18 +0000 (Fr, 05 Dez 2008) | 2 lines be more specific, and parallel to the py3k branch ........ r67601 | mark.dickinson | 2008-12-05 21:55:28 +0000 (Fr, 05 Dez 2008) | 3 lines Issue #4445: save 3 bytes (on average, on a typical machine) per string allocation. ........ r67614 | skip.montanaro | 2008-12-06 17:43:30 +0000 (Sa, 06 Dez 2008) | 2 lines issue 4483 - dbm build failures on systems with gdbm_compat lib. ........ r67628 | skip.montanaro | 2008-12-07 02:16:00 +0000 (So, 07 Dez 2008) | 1 line muffed the default case ........ r67818 | antoine.pitrou | 2008-12-17 00:38:28 +0000 (Mi, 17 Dez 2008) | 3 lines Issue #2183: Simplify and optimize bytecode for list comprehensions. ........ r67822 | mark.dickinson | 2008-12-17 16:14:37 +0000 (Mi, 17 Dez 2008) | 4 lines Issue #3439: add bit_length method to int and long. Thanks Fredrik Johansson and Victor Stinner for code, Raymond Hettinger for review. ........ r67850 | raymond.hettinger | 2008-12-19 09:06:07 +0000 (Fr, 19 Dez 2008) | 9 lines Fix-up and clean-up docs for int.bit_length(). * Replace dramatic footnote with in-line comment about possible round-off errors in logarithms of large numbers. * Add comments to the pure python code equivalent. * replace floor() with int() in the mathematical equivalent so the type is correct (should be an int, not a float). * add abs() to the mathematical equivalent so that it matches the previous line that it is supposed to be equivalent to. * make one combined example with a negative input. ........ r67857 | mark.dickinson | 2008-12-19 17:46:51 +0000 (Fr, 19 Dez 2008) | 2 lines Fix typo in Python equivalent for bit_length. ........ r67902 | benjamin.peterson | 2008-12-22 20:16:25 +0000 (Mo, 22 Dez 2008) | 1 line add py3k warnings to frame.f_exc_* ........ r67946 | antoine.pitrou | 2008-12-27 15:43:12 +0000 (Sa, 27 Dez 2008) | 4 lines Issue #4756: zipfile.is_zipfile() now supports file-like objects. Patch by Gabriel Genellina. ........ r67954 | benjamin.peterson | 2008-12-27 18:24:11 +0000 (Sa, 27 Dez 2008) | 1 line #4748 lambda generators shouldn't return values ........ r67976 | georg.brandl | 2008-12-28 11:54:53 +0000 (So, 28 Dez 2008) | 7 lines Backport r67974: #4759: allow None as first argument of bytearray.translate(), for consistency with bytes.translate(). Also fix segfault for bytearray.translate(x, None) -- will backport this part to 3.0 and 2.6. ........ r67978 | georg.brandl | 2008-12-28 11:58:49 +0000 (So, 28 Dez 2008) | 2 lines #4731: clarify message about missing module prerequisites. ........ r67979 | antoine.pitrou | 2008-12-28 14:09:36 +0000 (So, 28 Dez 2008) | 3 lines Issue #4444: Allow assertRaises() to be used as a context handler. ........ r67980 | antoine.pitrou | 2008-12-28 14:24:29 +0000 (So, 28 Dez 2008) | 1 line wrong version number in doc changes committed in r67979 ........ r67985 | antoine.pitrou | 2008-12-28 16:01:11 +0000 (So, 28 Dez 2008) | 4 lines Issue #2153: modernize coding style of unittest.py, remove obsolete compatibility stuff. Patch by Virgil Dupras. ........ r68089 | benjamin.peterson | 2008-12-31 03:37:51 +0000 (Mi, 31 Dez 2008) | 1 line #4788 qualify some bare except clauses ........ r68092 | benjamin.peterson | 2008-12-31 04:08:55 +0000 (Mi, 31 Dez 2008) | 1 line fix name collision issues ........ r68119 | georg.brandl | 2009-01-01 12:09:40 +0000 (Do, 01 Jan 2009) | 3 lines #4222: document dis.findlabels() and dis.findlinestarts() and put them into dis.__all__. ........ r68150 | ronald.oussoren | 2009-01-02 11:46:05 +0000 (Fr, 02 Jan 2009) | 1 line Fix for issue 3433 ........ r68153 | ronald.oussoren | 2009-01-02 12:59:32 +0000 (Fr, 02 Jan 2009) | 10 lines Fix for issue3559: No preferences menu in IDLE on OSX 1) Add a comment to the help file to that points to the preferences menu. 2) An earlier checkin tried to detect Tk >= 8.10.14, but did this in the wrong way. The end result of this was that the IDLE->Preferences... menu got surpressed when using the system version of Tcl/Tk ........ r68156 | ronald.oussoren | 2009-01-02 14:10:20 +0000 (Fr, 02 Jan 2009) | 1 line Fix for issue1594 ........ r68158 | ronald.oussoren | 2009-01-02 14:46:19 +0000 (Fr, 02 Jan 2009) | 2 lines Fix for issue 900949 ........ r68163 | ronald.oussoren | 2009-01-02 15:25:36 +0000 (Fr, 02 Jan 2009) | 2 lines Fix for issues #841800 and #900506 ........ r68167 | vinay.sajip | 2009-01-02 18:53:04 +0000 (Fr, 02 Jan 2009) | 1 line Minor documentation changes relating to NullHandler, the module used for handlers and references to ConfigParser. ........ r68176 | andrew.kuchling | 2009-01-02 21:00:35 +0000 (Fr, 02 Jan 2009) | 1 line Add various items ........ r68203 | martin.v.loewis | 2009-01-03 17:19:26 +0000 (Sa, 03 Jan 2009) | 2 lines Issue #4817: Remove unused function PyOS_GetLastModificationTime. ........ r68208 | raymond.hettinger | 2009-01-03 19:02:23 +0000 (Sa, 03 Jan 2009) | 1 line Issue 4796: Add from_float methods to the decimal module. ........ r68209 | raymond.hettinger | 2009-01-03 19:08:10 +0000 (Sa, 03 Jan 2009) | 1 line Reapply r68191. ........ r68231 | guilherme.polo | 2009-01-03 21:51:09 +0000 (Sa, 03 Jan 2009) | 4 lines The _tkinter module functions "createfilehandler", "deletefilehandler", "createtimerhandler", "mainloop", "dooneevent" and "quit" have been deprecated for removal in 3.x (part of issue #3638). ........ r68238 | georg.brandl | 2009-01-03 22:03:11 +0000 (Sa, 03 Jan 2009) | 2 lines Manually merge r68095,68186,68187,68188,68190 from 2.6 branch. ........ r68240 | georg.brandl | 2009-01-03 22:05:22 +0000 (Sa, 03 Jan 2009) | 2 lines Manually merge r67868 from 2.6 branch. ........ r68243 | georg.brandl | 2009-01-03 22:15:42 +0000 (Sa, 03 Jan 2009) | 2 lines Add temporary code to fix the automatic doc build failure. ........ r68296 | mark.dickinson | 2009-01-04 12:29:36 +0000 (So, 04 Jan 2009) | 6 lines Add autoconf test to detect x87-style double rounding, as described in issue #2937. This information can be helpful for diagnosing platform- specific problems in math and cmath. The result of the test also serves as a fairly reliable indicator of whether the x87 floating-point instructions (as opposed to SSE2) are in use on Intel x86/x86_64 systems. ........ r68299 | mark.dickinson | 2009-01-04 13:57:26 +0000 (So, 04 Jan 2009) | 4 lines isinf and isnan are macros, not functions; fix configure script to use AC_CHECK_DECLS instead of AC_CHECK_FUNCS for these. (See discussion in issue #4506) ........ r68302 | mark.dickinson | 2009-01-04 16:06:40 +0000 (So, 04 Jan 2009) | 4 lines Oops. Need to check not only that HAVE_DECL_ISINF is defined, but also that it's equal to 1. (If isinf isn't defined, HAVE_DECL_ISINF is defined to be 0, rather than being undefined.) ........ r68304 | mark.dickinson | 2009-01-04 17:02:05 +0000 (So, 04 Jan 2009) | 2 lines Fix HAVE_DECL_ISINF/ISNAN test (again). ........ r68311 | mark.dickinson | 2009-01-04 19:53:00 +0000 (So, 04 Jan 2009) | 2 lines Use C99 'isfinite' macro in preference to BSD-derived 'finite' function. ........ r68314 | mark.dickinson | 2009-01-04 21:10:56 +0000 (So, 04 Jan 2009) | 5 lines Fix Decimal.from_float to use valid Python 2.3 syntax, as per comments at top of decimal.py. (But note that the from_float method itself with still not be usable before Python 2.7.) See issue 4796 for discussion. ........ r68319 | antoine.pitrou | 2009-01-04 21:29:23 +0000 (So, 04 Jan 2009) | 3 lines Issue #4272: Add an optional argument to the GzipFile constructor to override the timestamp in the gzip stream. ........ r68381 | martin.v.loewis | 2009-01-07 18:40:40 +0000 (Mi, 07 Jan 2009) | 2 lines Issue #4850: Change COUNT_ALLOCS variables to Py_ssize_t. ........ r68395 | raymond.hettinger | 2009-01-08 06:39:04 +0000 (Do, 08 Jan 2009) | 1 line Forward port r68394 for issue 4816. ........ r68415 | tarek.ziade | 2009-01-08 23:56:31 +0000 (Do, 08 Jan 2009) | 1 line fixed #4394 make the storage of the password optional in .pypirc ........ r68425 | benjamin.peterson | 2009-01-09 02:56:32 +0000 (Fr, 09 Jan 2009) | 1 line fix markup ........ r68432 | benjamin.peterson | 2009-01-09 03:15:00 +0000 (Fr, 09 Jan 2009) | 1 line remove temporary code now ........ r68455 | kristjan.jonsson | 2009-01-09 20:03:27 +0000 (Fr, 09 Jan 2009) | 1 line Issue 3582. Improved thread support and TLS for Windows ........ r68458 | kristjan.jonsson | 2009-01-09 20:23:16 +0000 (Fr, 09 Jan 2009) | 1 line Issue 4336: HTTPRequest._send_output() now deals with the case of the message body not being a string. This allows clients to use endheaders(message_body) instead of endheaders() + send(message_body) without making any extra checks. ........ r68459 | kristjan.jonsson | 2009-01-09 20:27:16 +0000 (Fr, 09 Jan 2009) | 1 line Issue 4336: Let users of HTTPConnection.endheaders() submit a message body to the function if required. ........ r68460 | kristjan.jonsson | 2009-01-09 20:31:26 +0000 (Fr, 09 Jan 2009) | 1 line Issue 4293: Make Py_AddPendingCall() thread safe ........ r68461 | kristjan.jonsson | 2009-01-09 21:35:16 +0000 (Fr, 09 Jan 2009) | 2 lines Issue 4293: Make Py_AddPendingCall() thread safe Add test cases and documentation ........ r68462 | antoine.pitrou | 2009-01-09 21:40:55 +0000 (Fr, 09 Jan 2009) | 6 lines Issue #4074: Change the criteria for doing a full garbage collection (i.e. collecting the oldest generation) so that allocating lots of objects without destroying them does not show quadratic performance. Based on a proposal by Martin von Löwis at http://mail.python.org/pipermail/python-dev/2008-June/080579.html. ........ r68476 | kristjan.jonsson | 2009-01-10 12:14:31 +0000 (Sa, 10 Jan 2009) | 1 line Issue 4906: Preserve windows error state across PyThread_get_key_value ........ r68484 | antoine.pitrou | 2009-01-10 16:13:45 +0000 (Sa, 10 Jan 2009) | 3 lines Issue #3860: GzipFile and BZ2File now support the context manager protocol. ........ r68485 | antoine.pitrou | 2009-01-10 16:15:24 +0000 (Sa, 10 Jan 2009) | 1 line Add NEWS entry for r68484. ........ r68487 | matthias.klose | 2009-01-10 17:00:42 +0000 (Sa, 10 Jan 2009) | 3 lines - Issue #4861: ctypes.util.find_library(): Robustify. Fix library detection on biarch systems. Try to rely on ldconfig only, without using objdump and gcc. ........ r68496 | antoine.pitrou | 2009-01-10 18:33:21 +0000 (Sa, 10 Jan 2009) | 3 lines Add ACKS entries for some of the patches I've been committing. ........ r68498 | benjamin.peterson | 2009-01-10 19:08:49 +0000 (Sa, 10 Jan 2009) | 1 line fix encoding ........ r68532 | kristjan.jonsson | 2009-01-11 16:23:37 +0000 (So, 11 Jan 2009) | 1 line Issue 4879: Allow buffering for HTTPResponse ........ r68542 | martin.v.loewis | 2009-01-12 08:11:24 +0000 (Mo, 12 Jan 2009) | 2 lines Issue #4893: Use NT threading on CE. ........ r68544 | kristjan.jonsson | 2009-01-12 09:20:34 +0000 (Mo, 12 Jan 2009) | 1 line Update Misc/NEWS for issue 3582 ........ r68545 | kristjan.jonsson | 2009-01-12 09:24:04 +0000 (Mo, 12 Jan 2009) | 1 line Misc/NEWS for issue 4293 ........ r68546 | raymond.hettinger | 2009-01-12 10:37:32 +0000 (Mo, 12 Jan 2009) | 1 line Optimize heapq.nsmallest/nlargest for cases where n==1 or n>=size. ........ r68559 | raymond.hettinger | 2009-01-12 22:58:41 +0000 (Mo, 12 Jan 2009) | 1 line Issue 1696199: Add collections.Counter(). ........ r68560 | amaury.forgeotdarc | 2009-01-12 23:36:55 +0000 (Mo, 12 Jan 2009) | 6 lines #3720: Interpreter crashes when an evil iterator removes its own next function. Now the slot is filled with a function that always raises. Will not backport: extensions compiled with 2.6.x would not run on 2.6.0. ........ r68562 | raymond.hettinger | 2009-01-13 01:05:03 +0000 (Di, 13 Jan 2009) | 7 lines Simplify Counter() API. Replace items keyword argument with a mapping. Makes Counter() idempotent, makes update() API the same as Counter.__init__(), makes a more readable repr, makes the API more dict-like, and allows Steven Bethard's update() example to work. ........ r68565 | raymond.hettinger | 2009-01-13 03:49:43 +0000 (Di, 13 Jan 2009) | 1 line Minor documentation tweaks and simpler update() example. ........ r68566 | raymond.hettinger | 2009-01-13 04:13:53 +0000 (Di, 13 Jan 2009) | 1 line Fixup and simplify docstrings and doctests. ........ r68567 | raymond.hettinger | 2009-01-13 04:50:35 +0000 (Di, 13 Jan 2009) | 1 line Speed-up __repr__. Eliminate duplicate tests. Use a from-irmport. ........ r68568 | georg.brandl | 2009-01-13 08:11:07 +0000 (Di, 13 Jan 2009) | 2 lines Fix call signature and markup. ........ r68569 | raymond.hettinger | 2009-01-13 08:38:14 +0000 (Di, 13 Jan 2009) | 7 lines Add table of idioms/patterns for using Counter objects. Improve the appearance and flow of the References section -- it used to have a box around it that wasn't distinct from the preceding code boxes and it had a weird bolding pattern and hanging indents that made the section disproportionately large. ........ r68571 | armin.ronacher | 2009-01-13 11:52:23 +0000 (Di, 13 Jan 2009) | 3 lines ast.literal_eval can properly evaluate complex numbers now. This fixes issue4907. ........ r68592 | amaury.forgeotdarc | 2009-01-13 23:19:08 +0000 (Di, 13 Jan 2009) | 5 lines #4807: Remove a wrong usage of wsprintf in the winreg module ("windows sprintf", different than swprintf) Needed for the windows CE port. ........ r68596 | amaury.forgeotdarc | 2009-01-13 23:39:22 +0000 (Di, 13 Jan 2009) | 3 lines #1162154: inspect.getmembers() now skips attributes that raise AttributeError, e.g. a __slots__ attribute which has not been set. ........ r68597 | benjamin.peterson | 2009-01-13 23:43:50 +0000 (Di, 13 Jan 2009) | 1 line fix test_xmlrpc failures #4939 ........ r68603 | raymond.hettinger | 2009-01-14 00:15:21 +0000 (Mi, 14 Jan 2009) | 1 line Minor doc tweaks. ........ r68604 | raymond.hettinger | 2009-01-14 01:15:06 +0000 (Mi, 14 Jan 2009) | 1 line Add tests for __init__() and update() with no args. ........ r68607 | kristjan.jonsson | 2009-01-14 10:50:57 +0000 (Mi, 14 Jan 2009) | 2 lines Re-enable all tests for windows platforms. Also, explicitly connect to the IPV4 address. On windows platforms supporting AF_INET6, the SocketProxy would connect using socket.create_connection('localhost', port) which would cycle through all address families and try to connect. It would try connecting using AF_INET6 first and this would cause a delay of up to a second. ........ r68618 | kristjan.jonsson | 2009-01-15 17:20:21 +0000 (Do, 15 Jan 2009) | 1 line Issue 4929: Handle socket errors when receiving ........ r68648 | benjamin.peterson | 2009-01-17 04:28:57 +0000 (Sa, 17 Jan 2009) | 1 line use enumerate ........ r68665 | amaury.forgeotdarc | 2009-01-17 17:11:50 +0000 (Sa, 17 Jan 2009) | 3 lines #4930: Slightly cleaner (and faster) code in type creation: compare slots by address, not by name. ........ r68667 | amaury.forgeotdarc | 2009-01-17 20:18:59 +0000 (Sa, 17 Jan 2009) | 3 lines #4077: No need to append \n when calling Py_FatalError + fix a declaration to make it match the one in pythonrun.h ........ r68676 | benjamin.peterson | 2009-01-17 22:27:54 +0000 (Sa, 17 Jan 2009) | 1 line fix inspect.isclass() on instances with a custom __getattr__ #1225107 ........ r68722 | kristjan.jonsson | 2009-01-18 10:58:44 +0000 (So, 18 Jan 2009) | 1 line issue 4293: make test_capi.py more robutst, it times out on some platforms, presumably waiting for threads. Lower the thread count to 16. ........ r68739 | benjamin.peterson | 2009-01-18 21:11:38 +0000 (So, 18 Jan 2009) | 1 line fix test that wasn't working as expected #4990 ........ r68763 | kristjan.jonsson | 2009-01-19 13:10:27 +0000 (Mo, 19 Jan 2009) | 2 lines Issue 4957 Let os.ftruncate raise OSError like documented. ........ r68764 | benjamin.peterson | 2009-01-19 15:04:35 +0000 (Mo, 19 Jan 2009) | 3 lines Removed merge tracking for "svnmerge" for svn+ssh://pythondev@svn.python.org/python/branches/trunk-math ........ r68766 | benjamin.peterson | 2009-01-19 15:06:33 +0000 (Mo, 19 Jan 2009) | 3 lines Removed merge tracking for "svnmerge" for svn+ssh://pythondev@svn.python.org/python/branches/tnelson-trunk-bsddb-47-upgrade ........ r68772 | benjamin.peterson | 2009-01-19 15:42:23 +0000 (Mo, 19 Jan 2009) | 1 line add a note about the ftruncate change ........ r68773 | benjamin.peterson | 2009-01-19 15:51:27 +0000 (Mo, 19 Jan 2009) | 1 line simplify code ........ r68785 | benjamin.peterson | 2009-01-19 21:08:37 +0000 (Mo, 19 Jan 2009) | 1 line I'm sick of these deprecations warnings in test_os ........ r68789 | raymond.hettinger | 2009-01-20 01:19:26 +0000 (Di, 20 Jan 2009) | 6 lines Build-outs for Counter() class: * Constructor and update() support keyword args (like their dict counterparts). * The 'del' statement no longer raises KeyError for missing values. * Add multiset operations: __add__, __sub__, __and__, __or__. ........ r68792 | raymond.hettinger | 2009-01-20 02:24:38 +0000 (Di, 20 Jan 2009) | 1 line Add Counter() to __all__. ........ r68793 | raymond.hettinger | 2009-01-20 03:36:36 +0000 (Di, 20 Jan 2009) | 1 line Make merging easier by formattng comment blocks the same in Py3.1 ........ r68803 | raymond.hettinger | 2009-01-20 12:59:36 +0000 (Di, 20 Jan 2009) | 1 line Fix typos. ........ r68807 | benjamin.peterson | 2009-01-20 14:31:08 +0000 (Di, 20 Jan 2009) | 1 line backport r68802 (bugfix) ........ r68826 | vinay.sajip | 2009-01-20 22:43:17 +0000 (Di, 20 Jan 2009) | 1 line Issue 5013: Fixed bug in FileHandler when delay was set. ........ r68829 | vinay.sajip | 2009-01-20 23:16:08 +0000 (Di, 20 Jan 2009) | 1 line Issue 5013: Fixed bug in FileHandler when delay was set - added fix for RotatingFileHandler and changed header comment slightly. ........ r68831 | raymond.hettinger | 2009-01-20 23:42:54 +0000 (Di, 20 Jan 2009) | 1 line Beautify and cleanup the references section. ........ r68839 | jesse.noller | 2009-01-21 02:08:17 +0000 (Mi, 21 Jan 2009) | 1 line Issue 5009: multiprocessing: failure in manager._debug_info() ........ r68840 | andrew.kuchling | 2009-01-21 02:15:43 +0000 (Mi, 21 Jan 2009) | 1 line Add some items ........ r68843 | raymond.hettinger | 2009-01-21 20:31:50 +0000 (Mi, 21 Jan 2009) | 1 line Simplify explanation of multiset operations by removing restrictions on negative inputs. ........ r68845 | raymond.hettinger | 2009-01-21 23:12:51 +0000 (Mi, 21 Jan 2009) | 1 line Tighten-up the docs for Counter(). ........ r68850 | raymond.hettinger | 2009-01-22 05:20:47 +0000 (Do, 22 Jan 2009) | 1 line More doc tweaks. ........ r68853 | raymond.hettinger | 2009-01-22 09:05:43 +0000 (Do, 22 Jan 2009) | 1 line Update comments and add an optimized path for Counter.update(). ........ r68881 | andrew.kuchling | 2009-01-24 03:28:18 +0000 (Sa, 24 Jan 2009) | 1 line Add various items ........ r68884 | kristjan.jonsson | 2009-01-24 10:52:26 +0000 (Sa, 24 Jan 2009) | 1 line Add a test for UNC import paths, see issue 3677 ........ r68892 | martin.v.loewis | 2009-01-24 15:45:18 +0000 (Sa, 24 Jan 2009) | 2 lines Add heading for 2.7a0. ........ r68925 | benjamin.peterson | 2009-01-25 17:15:10 +0000 (So, 25 Jan 2009) | 5 lines fix building the core with --disable-unicode I changed some bytearray methods to use strings instead of unicode like bytes_repr Also, bytearray.fromhex() can take strings as well as unicode ........ r68927 | hirokazu.yamamoto | 2009-01-25 17:46:48 +0000 (So, 25 Jan 2009) | 1 line Fixed compile error on windows. ........ r68929 | tarek.ziade | 2009-01-25 18:19:25 +0000 (So, 25 Jan 2009) | 1 line Fixed #4863: removed distutils.mwerkscompiler ........ r68933 | tarek.ziade | 2009-01-25 19:29:10 +0000 (So, 25 Jan 2009) | 1 line Issue #4863, removing remaining bits ........ r68941 | raymond.hettinger | 2009-01-25 21:04:14 +0000 (So, 25 Jan 2009) | 1 line Promote compress() from a recipe to being a regular itertool. ........ r68942 | raymond.hettinger | 2009-01-25 21:31:47 +0000 (So, 25 Jan 2009) | 1 line Improved itertools recipe for generating powerset(). ........ r68943 | tarek.ziade | 2009-01-25 22:09:10 +0000 (So, 25 Jan 2009) | 1 line Issue #5052: removed backward compatibility information (out of date) ........ r68953 | brett.cannon | 2009-01-26 01:16:50 +0000 (Mo, 26 Jan 2009) | 3 lines Backport importlib in the form of providing importlib.import_module(). This has been done purely to help transitions from 2.7 to 3.1. ........ r68964 | raymond.hettinger | 2009-01-26 16:52:22 +0000 (Mo, 26 Jan 2009) | 1 line Fix signed/unsigned mismatch. ........ r68985 | raymond.hettinger | 2009-01-26 23:29:09 +0000 (Mo, 26 Jan 2009) | 6 lines Remove startup firewall message. That is handled by an error dialog whenever a connection cannot be formed. Also, the Idle version number is already in the About Idle dialog. Now, the startup is clean looking once again. ........ r68998 | raymond.hettinger | 2009-01-27 02:36:33 +0000 (Di, 27 Jan 2009) | 3 lines Tweak column alignment for collections docs. ........ r69001 | raymond.hettinger | 2009-01-27 02:58:49 +0000 (Di, 27 Jan 2009) | 1 line Promote combinations_with_replacement() from a recipe to a regular itertool. ........ r69003 | benjamin.peterson | 2009-01-27 03:07:53 +0000 (Di, 27 Jan 2009) | 1 line excellent place to use a set() #5069 ........ r69010 | raymond.hettinger | 2009-01-27 09:33:06 +0000 (Di, 27 Jan 2009) | 1 line Add tests to verify combinatoric relationships. ........ r69012 | raymond.hettinger | 2009-01-27 09:52:35 +0000 (Di, 27 Jan 2009) | 1 line Stronger tests for combinatoric relationships. ........ r69014 | raymond.hettinger | 2009-01-27 10:03:04 +0000 (Di, 27 Jan 2009) | 1 line Issue 5021: doctest.testfile should set __name__ ........ r69018 | raymond.hettinger | 2009-01-27 10:36:14 +0000 (Di, 27 Jan 2009) | 1 line More exhaustive combinatoric checks. ........ r69023 | raymond.hettinger | 2009-01-27 13:26:35 +0000 (Di, 27 Jan 2009) | 1 line Add more tests for the powerset() recipe. ........ r69039 | benjamin.peterson | 2009-01-27 23:15:48 +0000 (Di, 27 Jan 2009) | 1 line use True and False ........ r69050 | guilherme.polo | 2009-01-28 13:09:03 +0000 (Mi, 28 Jan 2009) | 2 lines Added the ttk module. See issue #2983: Ttk support for Tkinter. ........ r69053 | guilherme.polo | 2009-01-28 15:56:01 +0000 (Mi, 28 Jan 2009) | 2 lines Demos for ttk added. ........ r69060 | guilherme.polo | 2009-01-28 19:23:28 +0000 (Mi, 28 Jan 2009) | 2 lines Added support for collecting tests only from specific packages. ........ r69061 | guilherme.polo | 2009-01-28 19:28:04 +0000 (Mi, 28 Jan 2009) | 4 lines * Renaming test_tk_* to test_ttk_* since that is what they are testing. * Added ttk tests to the expected skips mapping just like where test_tcl was expected to be skipped too. ........ r69062 | guilherme.polo | 2009-01-28 20:02:01 +0000 (Mi, 28 Jan 2009) | 1 line Make sure the root windows gets destroyed ........ r69063 | guilherme.polo | 2009-01-28 20:03:26 +0000 (Mi, 28 Jan 2009) | 2 lines Issue #5083: New 'gui' resource for regrtest. ........ r69070 | raymond.hettinger | 2009-01-28 23:02:26 +0000 (Mi, 28 Jan 2009) | 6 lines Issue 4920: Fixed next() vs __next__() issues in the ABCs for Iterator and MutableSet. Also added thorough test for required abstractmethods. ........ r69074 | raymond.hettinger | 2009-01-28 23:58:16 +0000 (Mi, 28 Jan 2009) | 1 line Correct docs for ABCs (MutableSequence was missing __setiem). Simplify the table by taking out inherited requirements for abstract methods. ........ r69080 | brett.cannon | 2009-01-29 00:55:33 +0000 (Do, 29 Jan 2009) | 2 lines Ignore .pyc and .pyo files. ........ r69085 | raymond.hettinger | 2009-01-29 03:21:42 +0000 (Do, 29 Jan 2009) | 1 line Update itertools.__doc__ to include all tools. ........ r69087 | raymond.hettinger | 2009-01-29 03:43:44 +0000 (Do, 29 Jan 2009) | 1 line Fix typo. ........ r69112 | benjamin.peterson | 2009-01-30 02:02:25 +0000 (Fr, 30 Jan 2009) | 1 line pep8tify conditionals ........ r69113 | benjamin.peterson | 2009-01-30 02:24:39 +0000 (Fr, 30 Jan 2009) | 1 line make _tkinter._flatten check the result of PySequence_Size for errors #3880 ........ r69129 | benjamin.peterson | 2009-01-31 01:42:55 +0000 (Sa, 31 Jan 2009) | 1 line check the errno in bad fd cases ........ r69130 | andrew.kuchling | 2009-01-31 02:50:09 +0000 (Sa, 31 Jan 2009) | 1 line Add a section ........ r69134 | benjamin.peterson | 2009-01-31 16:29:18 +0000 (Sa, 31 Jan 2009) | 1 line completely detabify unicodeobject.c ........ r69139 | mark.dickinson | 2009-01-31 16:44:04 +0000 (Sa, 31 Jan 2009) | 2 lines Add an extra test for long <-> float hash equivalence. ........ r69143 | benjamin.peterson | 2009-01-31 21:00:10 +0000 (Sa, 31 Jan 2009) | 1 line I believe the intention here was to avoid a global lookup ........ r69146 | benjamin.peterson | 2009-01-31 21:47:42 +0000 (Sa, 31 Jan 2009) | 1 line fix indentation ........ r69149 | benjamin.peterson | 2009-01-31 22:03:19 +0000 (Sa, 31 Jan 2009) | 1 line fix indentation; looks like all I managed to do the first time is make things uglier ........ r69154 | benjamin.peterson | 2009-01-31 22:33:02 +0000 (Sa, 31 Jan 2009) | 1 line fix indentation in comment ........ r69156 | gregory.p.smith | 2009-01-31 22:57:30 +0000 (Sa, 31 Jan 2009) | 4 lines - Issue #5104: The socket module now raises OverflowError when 16-bit port and protocol numbers are supplied outside the allowed 0-65536 range on bind() and getservbyport(). ........ r69158 | benjamin.peterson | 2009-01-31 23:54:38 +0000 (Sa, 31 Jan 2009) | 1 line more flags which only work for function blocks ........ r69169 | guilherme.polo | 2009-02-01 02:56:16 +0000 (So, 01 Feb 2009) | 3 lines Restore Tkinter.Tk._loadtk so this test doesn't fail for problems related to ttk. ........ r69195 | guilherme.polo | 2009-02-02 00:38:54 +0000 (Mo, 02 Feb 2009) | 3 lines Use a single Tcl interpreter through all these tests, this may help some failing buildbots. ........ r69211 | guilherme.polo | 2009-02-02 20:23:29 +0000 (Mo, 02 Feb 2009) | 1 line Restore the previous geometry before leaving the test ........ r69212 | guilherme.polo | 2009-02-02 20:28:59 +0000 (Mo, 02 Feb 2009) | 1 line Moving to importlib ........ r69227 | raymond.hettinger | 2009-02-02 21:50:13 +0000 (Mo, 02 Feb 2009) | 1 line Issue 1242657: list(obj) can swallow KeyboardInterrupt. ........ r69237 | raymond.hettinger | 2009-02-03 02:23:19 +0000 (Di, 03 Feb 2009) | 1 line Validate that __length_hint__ returns a usable result. ........ r69242 | raymond.hettinger | 2009-02-03 03:37:03 +0000 (Di, 03 Feb 2009) | 1 line Register decimals as numbers.Number ........ r69252 | brett.cannon | 2009-02-03 04:58:29 +0000 (Di, 03 Feb 2009) | 3 lines Make importlib a package. This allows using svn:externals in the sandbox to package up the code for separate distribution. ........ r69253 | brett.cannon | 2009-02-03 04:59:58 +0000 (Di, 03 Feb 2009) | 1 line Ignore bytecode files in importlib. ........ r69257 | brett.cannon | 2009-02-03 05:08:22 +0000 (Di, 03 Feb 2009) | 1 line Backport importlib to at least Python 2.5 by getting rid of use of str.format. ........ r69260 | thomas.heller | 2009-02-03 17:07:40 +0000 (Di, 03 Feb 2009) | 9 lines This refactoring should make it easier to add new calling conventions. Replace ffi_call_STDCALL and ffi_call_SYSV by a ffi_call_x86 function that cleans up the stack when FFI_SYSV is used, and does nothing for FFI_STDCALL. Remove libffi_msvc\win32.S, which is out of date and also unused; it was only used for building ctypes with the MingW compiler. ........ r69262 | brett.cannon | 2009-02-03 21:13:05 +0000 (Di, 03 Feb 2009) | 5 lines Make importlib backwards-compatible to Python 2.2 (but this is not promised to last; just doing it to be nice). Also fix a message for an exception. ........ r69268 | kristjan.jonsson | 2009-02-04 10:05:25 +0000 (Mi, 04 Feb 2009) | 1 line issue 4804: Provide checks for the format string of strftime, and for the "mode" string of fopen on Windows. These strings are user provided from python and so we can avoid invoking the C runtime invalid parameter handler by first checking that they are valid. ........ r69285 | tarek.ziade | 2009-02-05 09:06:23 +0000 (Do, 05 Feb 2009) | 1 line Fix comment for #1835 ........ r69302 | neil.schemenauer | 2009-02-05 16:14:39 +0000 (Do, 05 Feb 2009) | 3 lines Fix get_python_inc() to work when building in a directory separate from the source. Also, define 'srcdir' on non-posix platforms. ........ r69303 | neil.schemenauer | 2009-02-05 16:19:05 +0000 (Do, 05 Feb 2009) | 4 lines Since sysconfig.get_python_inc() now works when building in a directory other than the source directory, simplify the test code in test_sysconfig.py. ........ r69305 | neil.schemenauer | 2009-02-05 16:32:29 +0000 (Do, 05 Feb 2009) | 4 lines Make setup.py work when building in a directory other than the source directory. Mainly use 'srcdir' rather than os.getcwd() or '.'. ........ r69315 | neil.schemenauer | 2009-02-05 22:14:04 +0000 (Do, 05 Feb 2009) | 2 lines Oops, Mac build needs the 'incdirlist' variable so restore it. ........ r69322 | neil.schemenauer | 2009-02-06 00:21:55 +0000 (Fr, 06 Feb 2009) | 2 lines Distutils apparently requires an absolute path so provide one. ........ r69324 | tarek.ziade | 2009-02-06 00:31:59 +0000 (Fr, 06 Feb 2009) | 1 line Fixed #1276768: verbose option was not used in the code. ........ r69330 | tarek.ziade | 2009-02-06 00:46:57 +0000 (Fr, 06 Feb 2009) | 1 line README now reflects the current state ........ r69331 | eric.smith | 2009-02-06 00:48:26 +0000 (Fr, 06 Feb 2009) | 2 lines Implement issue #4285, convert sys.version_info to a named tuple. Patch by Ross Light. ........ r69332 | tarek.ziade | 2009-02-06 00:49:45 +0000 (Fr, 06 Feb 2009) | 1 line using >= so setting verbose to 2 will work as well ........ r69342 | tarek.ziade | 2009-02-06 01:15:51 +0000 (Fr, 06 Feb 2009) | 1 line fixed #1520877: now distutils reads Read from the environment/Makefile ........ r69356 | tarek.ziade | 2009-02-06 08:20:15 +0000 (Fr, 06 Feb 2009) | 1 line Fixed #3987 : removed unused import ........ r69360 | tarek.ziade | 2009-02-06 08:55:23 +0000 (Fr, 06 Feb 2009) | 1 line removed types usage and added test coverage (work for #3986) ........ r69364 | kristjan.jonsson | 2009-02-06 10:17:34 +0000 (Fr, 06 Feb 2009) | 1 line Fix a number of Win32ErrorTests error cases. chmod wasn't being tested. 'access' never raises an error. ........ r69365 | armin.rigo | 2009-02-06 11:46:26 +0000 (Fr, 06 Feb 2009) | 2 lines Ivan on IRC in #twisted reported this crasher. ........ r69366 | tarek.ziade | 2009-02-06 13:27:38 +0000 (Fr, 06 Feb 2009) | 1 line Fixed #5167: test_customize_compiler does not apply under non unix compilers ........ r69373 | neil.schemenauer | 2009-02-06 21:08:52 +0000 (Fr, 06 Feb 2009) | 5 lines Overhaul Lib/compiler block ordering. The previous code was filled with hacks. The new code is based on issue #2472 posted by Antoine Pitrou. I did some further cleanups of the pyassem code and optimized the block ordering pass. ........ r69374 | neil.schemenauer | 2009-02-06 21:33:45 +0000 (Fr, 06 Feb 2009) | 6 lines Convert "srcdir" into an absolute path if that seems prudent. Currrently the only user of this is Lib/distutils/tests/test_build_ext.py (in order to find the source for xxmodule.c). I'm not sure if other platforms need similar tweaks, I'm not brave enough to attempt it without being able to test. ........ r69377 | guilherme.polo | 2009-02-06 22:48:07 +0000 (Fr, 06 Feb 2009) | 5 lines Issue #1731706: Call Tcl_ConditionFinalize for Tcl_Conditions that will not be used again (this requires Tcl/Tk 8.3.1), also fix a memory leak in Tkapp_Call when calling from a thread different than the one that created the Tcl interpreter. ........ r69385 | tarek.ziade | 2009-02-07 00:05:39 +0000 (Sa, 07 Feb 2009) | 1 line #3986 replacing string and types call (like in the Py3k branch), and put exec_msg call at the right place ........ r69389 | neil.schemenauer | 2009-02-07 00:13:39 +0000 (Sa, 07 Feb 2009) | 2 lines Make names generated for 'with' variables match the built-in compiler. ........ r69394 | neil.schemenauer | 2009-02-07 00:54:41 +0000 (Sa, 07 Feb 2009) | 4 lines Issue #999042: The Python compiler now handles explict global statements correctly (should be assigned using STORE_GLOBAL opcode). This was done by having the system table differentiate between explict and implicit globals. ........ r69404 | guilherme.polo | 2009-02-07 02:20:29 +0000 (Sa, 07 Feb 2009) | 2 lines Eliminated the need to use ttk.__loadtk__ and the problems related it. ........ r69410 | neil.schemenauer | 2009-02-07 14:53:31 +0000 (Sa, 07 Feb 2009) | 4 lines Fix broken test in test_hotshot. Treating the current directory as an empty file is sloppy and non-portable. Use NamedTemporaryFile to make an empty file. ........ r69413 | neil.schemenauer | 2009-02-07 18:35:16 +0000 (Sa, 07 Feb 2009) | 2 lines Add test for issue #999042, explict global statement works. ........ r69415 | benjamin.peterson | 2009-02-07 19:08:22 +0000 (Sa, 07 Feb 2009) | 1 line make destinsrc private ........ r69419 | nick.coghlan | 2009-02-08 01:26:34 +0000 (So, 08 Feb 2009) | 1 line Issue 4195: Restore the ability to execute packages with the -m switch (but this time in a way that leaves the import machinery in a valid state). (Original patch by Andi Vajda) ........ r69420 | nick.coghlan | 2009-02-08 01:46:01 +0000 (So, 08 Feb 2009) | 1 line Mention patch submitter in NEWS entry for r69419 ........ r69425 | nick.coghlan | 2009-02-08 03:17:00 +0000 (So, 08 Feb 2009) | 1 line Issue #4512 closeout: Make ZipImport.get_filename() a public method ........ r69443 | mark.dickinson | 2009-02-08 17:33:11 +0000 (So, 08 Feb 2009) | 2 lines Silence 'arg may be used uninitialized in this function' warning from gcc. ........ r69447 | vinay.sajip | 2009-02-08 19:06:08 +0000 (So, 08 Feb 2009) | 2 lines Issue #5170: Fixed Unicode output bug in logging and added test case. This is a regression which did not occur in 2.5. ........ r69459 | mark.dickinson | 2009-02-09 14:18:43 +0000 (Mo, 09 Feb 2009) | 3 lines Issue #4575: fix Py_IS_INFINITY macro to work correctly on x87 FPUs. It now forces its argument to double before testing for infinity. ........ r69460 | guilherme.polo | 2009-02-09 16:09:17 +0000 (Mo, 09 Feb 2009) | 1 line Turned setup_master public ........ r69466 | raymond.hettinger | 2009-02-09 18:39:41 +0000 (Mo, 09 Feb 2009) | 3 lines Issue 5171: itertools.product docstring missing 'repeat' argument ........ r69467 | guilherme.polo | 2009-02-09 19:21:21 +0000 (Mo, 09 Feb 2009) | 2 lines Some tests for Tkinter.Text.search ........ r69470 | guilherme.polo | 2009-02-09 19:57:04 +0000 (Mo, 09 Feb 2009) | 1 line Checking for tk availability before continuing (basically the same that is done in test_ttk_guionly) ........ r69473 | guilherme.polo | 2009-02-09 20:50:27 +0000 (Mo, 09 Feb 2009) | 3 lines Fixed issue #5122: Synchronize tk load failure check to prevent a potential deadlock. ........ r69474 | guilherme.polo | 2009-02-09 20:57:45 +0000 (Mo, 09 Feb 2009) | 1 line Enforcing Tk 8.3.1 requirement. ........ r69480 | raymond.hettinger | 2009-02-10 01:24:05 +0000 (Di, 10 Feb 2009) | 1 line Issue 1818: collections.namedtuple() to support automatic renaming of invalid fieldnames. ........ r69481 | brett.cannon | 2009-02-10 02:07:38 +0000 (Di, 10 Feb 2009) | 4 lines compileall used the ctime of bytecode and source to determine if the bytecode should be recreated. This created a timing hole. Fixed by just doing what import does; check the mtime and magic number. ........ r69495 | kristjan.jonsson | 2009-02-10 13:32:24 +0000 (Di, 10 Feb 2009) | 1 line Issue 4804. Add a function to test the validity of file descriptors on Windows, and stop using global runtime settings to silence the warnings / assertions. ........ r69498 | mark.dickinson | 2009-02-10 15:46:50 +0000 (Di, 10 Feb 2009) | 6 lines Issue #5175: PyLong_AsUnsignedLongLong now raises OverflowError for negative arguments. Previously, it raised TypeError. Thanks Lisandro Dalcin. ........ r69516 | hirokazu.yamamoto | 2009-02-11 04:13:06 +0000 (Mi, 11 Feb 2009) | 2 lines Issue #5204: Define _PyVerify_fd on VC6 to make test_fdopen (test_os.py) pass. ........ r69521 | benjamin.peterson | 2009-02-12 04:17:04 +0000 (Do, 12 Feb 2009) | 1 line no need for this __bases__ trick anymore ........ r69522 | raymond.hettinger | 2009-02-12 05:39:46 +0000 (Do, 12 Feb 2009) | 3 lines Issue 5032: added a step argument to itertools.count() and allowed non-integer arguments. ........ r69525 | raymond.hettinger | 2009-02-12 10:16:19 +0000 (Do, 12 Feb 2009) | 1 line Fix spaces/tabs in example. ........ r69528 | raymond.hettinger | 2009-02-12 12:04:26 +0000 (Do, 12 Feb 2009) | 1 line Add an extra testcase. ........ r69530 | raymond.hettinger | 2009-02-12 12:43:01 +0000 (Do, 12 Feb 2009) | 1 line One more test. ........ r69561 | gregory.p.smith | 2009-02-13 03:00:00 +0000 (Fr, 13 Feb 2009) | 5 lines - Issue #3745: Fix hashlib to always reject unicode and non buffer-api supporting objects as input no matter how it was compiled (built in implementations or external openssl library). (backported from a py3k branch) ........ r69566 | tarek.ziade | 2009-02-13 09:12:33 +0000 (Fr, 13 Feb 2009) | 1 line #5158: added documentation on the depends option in distutils extensions ........ r69578 | georg.brandl | 2009-02-13 11:03:59 +0000 (Fr, 13 Feb 2009) | 1 line #3694: add test for fix committed in r66693. ........ r69579 | georg.brandl | 2009-02-13 11:06:59 +0000 (Fr, 13 Feb 2009) | 2 lines Fix warnings GCC emits where the argument of PyErr_Format is a single variable. ........ r69580 | georg.brandl | 2009-02-13 11:10:04 +0000 (Fr, 13 Feb 2009) | 2 lines Fix warnings GCC emits where the argument of PyErr_Format is a single variable. ........ r69582 | antoine.pitrou | 2009-02-13 13:52:33 +0000 (Fr, 13 Feb 2009) | 4 lines Issue #5186: Reduce hash collisions for objects with no __hash__ method by rotating the object pointer by 4 bits to the right. ........ r69583 | antoine.pitrou | 2009-02-13 13:57:40 +0000 (Fr, 13 Feb 2009) | 3 lines Fix compiler warning (gcc) ........ r69591 | martin.v.loewis | 2009-02-13 20:26:16 +0000 (Fr, 13 Feb 2009) | 1 line Update Tix build procedure. ........ r69594 | tarek.ziade | 2009-02-13 22:22:03 +0000 (Fr, 13 Feb 2009) | 1 line Issue #2461: added tests for distutils.util ........ r69602 | tarek.ziade | 2009-02-13 23:41:57 +0000 (Fr, 13 Feb 2009) | 1 line fix the environ for distutils test_util ........ r69604 | raymond.hettinger | 2009-02-14 00:25:51 +0000 (Sa, 14 Feb 2009) | 1 line Add keyword argument support to itertools.count(). ........ r69609 | tarek.ziade | 2009-02-14 14:10:23 +0000 (Sa, 14 Feb 2009) | 1 line Fix for #5257: refactored all tests in distutils, so they use a temporary directory. ........ r69610 | tarek.ziade | 2009-02-14 14:12:30 +0000 (Sa, 14 Feb 2009) | 1 line Replace variable ........ r69617 | benjamin.peterson | 2009-02-14 16:51:03 +0000 (Sa, 14 Feb 2009) | 1 line we're no longer using CVS, so this doesn't have to be binary ........ r69619 | benjamin.peterson | 2009-02-14 17:00:51 +0000 (Sa, 14 Feb 2009) | 1 line this needn't be a shebang line ........ r69634 | mark.dickinson | 2009-02-15 10:13:41 +0000 (So, 15 Feb 2009) | 6 lines Issue #5260: Various portability and standards compliance fixes, optimizations and cleanups in Objects/longobject.c. The most significant change is that longs now use less memory: average savings are 2 bytes per long on 32-bit systems and 6 bytes per long on 64-bit systems. (This memory saving already exists in py3k.) ........ r69639 | mark.dickinson | 2009-02-15 15:48:39 +0000 (So, 15 Feb 2009) | 2 lines A few more minor fixes in longobject.c ........ r69666 | eric.smith | 2009-02-16 09:56:39 +0000 (Mo, 16 Feb 2009) | 1 line Added Ross Light to ACKS, for bug 4285 (r69331). ........ r69685 | raymond.hettinger | 2009-02-16 20:39:12 +0000 (Mo, 16 Feb 2009) | 1 line Add GC support to count() objects. Backport candidate. ........ r69688 | benjamin.peterson | 2009-02-16 21:07:52 +0000 (Mo, 16 Feb 2009) | 1 line fix compiler warnings ........ r69689 | benjamin.peterson | 2009-02-16 21:09:09 +0000 (Mo, 16 Feb 2009) | 1 line remove some PyBytes_* aliases that are not in 3.x ........ r69690 | benjamin.peterson | 2009-02-16 21:23:04 +0000 (Mo, 16 Feb 2009) | 1 line PyList_Append() can fail ........ r69692 | tarek.ziade | 2009-02-16 21:38:01 +0000 (Mo, 16 Feb 2009) | 1 line Fixed #2279: distutils.sdist.add_defaults now add files listed in package_data and data_files ........ r69693 | tarek.ziade | 2009-02-16 21:41:54 +0000 (Mo, 16 Feb 2009) | 1 line #2279: use os.sep so the MANIFEST file test work on win32 ........ r69700 | tarek.ziade | 2009-02-16 22:38:43 +0000 (Mo, 16 Feb 2009) | 1 line note about #2279 ........ r69709 | raymond.hettinger | 2009-02-17 08:33:01 +0000 (Di, 17 Feb 2009) | 1 line Fix-up intro paragraph for collections docs. ........ r69710 | tarek.ziade | 2009-02-17 09:42:44 +0000 (Di, 17 Feb 2009) | 1 line #2279 added the plain path case for data_files ........ r69715 | raymond.hettinger | 2009-02-17 11:00:27 +0000 (Di, 17 Feb 2009) | 1 line Fixup intro paragraphs for the itertools docs. Add some tables for quick reference. ........ r69716 | ronald.oussoren | 2009-02-17 12:38:42 +0000 (Di, 17 Feb 2009) | 2 lines Fix issue776533. ........ r69724 | tarek.ziade | 2009-02-17 23:06:51 +0000 (Di, 17 Feb 2009) | 1 line fixed the data_files inclusion behavior ........ r69739 | raymond.hettinger | 2009-02-18 20:54:53 +0000 (Mi, 18 Feb 2009) | 1 line Generalize the itertools.tee() recipe. ........ r69743 | raymond.hettinger | 2009-02-18 23:10:19 +0000 (Mi, 18 Feb 2009) | 1 line Py3k warnings now automatically include -Qwarn for division. ........ r69748 | raymond.hettinger | 2009-02-19 02:15:14 +0000 (Do, 19 Feb 2009) | 1 line Add keyword arg support to itertools.compress(). ........ r69751 | raymond.hettinger | 2009-02-19 02:38:25 +0000 (Do, 19 Feb 2009) | 1 line Add keyword arg support to itertools.repeat(). ........ r69757 | raymond.hettinger | 2009-02-19 05:34:35 +0000 (Do, 19 Feb 2009) | 1 line Add some cross-references to the docs. Simplify the python code equivalent for izip(). Supply an optional argument for the nth() recipe. ........ r69761 | raymond.hettinger | 2009-02-19 05:51:41 +0000 (Do, 19 Feb 2009) | 1 line Add an example for math.fsum() and elaborate on the accurary note. ........ r69765 | raymond.hettinger | 2009-02-19 06:55:03 +0000 (Do, 19 Feb 2009) | 1 line Add links to helpful external resources. ........ r69770 | raymond.hettinger | 2009-02-19 09:50:24 +0000 (Do, 19 Feb 2009) | 1 line Inline coefficients in gamma(). Add reflection formula. Add comments. ........ r69772 | vinay.sajip | 2009-02-19 12:31:32 +0000 (Do, 19 Feb 2009) | 1 line #5287: Add exception handling around findCaller() call to help out IronPython. ........ r69777 | jeroen.ruigrok | 2009-02-19 18:52:21 +0000 (Do, 19 Feb 2009) | 3 lines Since we recommend one module per import line, reflect this also in the documentation. ........ r69795 | benjamin.peterson | 2009-02-20 03:31:23 +0000 (Fr, 20 Feb 2009) | 1 line revert r69777 since all the experts agree that extra import lines distract from the code ........ r69811 | collin.winter | 2009-02-20 19:30:41 +0000 (Fr, 20 Feb 2009) | 2 lines Issue 5176: special-case string formatting in BINARY_MODULO implementation. This shows a modest (1-3%) speed-up in templating systems, for example. ........ r69837 | raymond.hettinger | 2009-02-21 07:17:22 +0000 (Sa, 21 Feb 2009) | 4 lines Fix keyword arguments for itertools.count(). Step arg without a start arg was ignored. ........ r69838 | raymond.hettinger | 2009-02-21 08:58:42 +0000 (Sa, 21 Feb 2009) | 1 line Speedup and simplify negative counter using count's new step argument. ........ r69855 | benjamin.peterson | 2009-02-21 23:09:33 +0000 (Sa, 21 Feb 2009) | 1 line fix compiler warnings ........ r69861 | tarek.ziade | 2009-02-22 00:07:45 +0000 (So, 22 Feb 2009) | 1 line using versionchanged instead of versionadded for distutils doc on sdist default files ........ r69870 | antoine.pitrou | 2009-02-22 17:25:52 +0000 (So, 22 Feb 2009) | 3 lines Try to make sense of the test_site buildbot failures ........ r69871 | antoine.pitrou | 2009-02-22 18:20:46 +0000 (So, 22 Feb 2009) | 3 lines Revert debugging statements, culprit is possibly test_distutils (see #5316) ........ r69874 | tarek.ziade | 2009-02-22 19:58:12 +0000 (So, 22 Feb 2009) | 1 line moved distutils.text_file tests into a real unittest class ........ r69878 | tarek.ziade | 2009-02-22 20:11:46 +0000 (So, 22 Feb 2009) | 1 line removing map and lambda usage, so the test is similar to py3k's branch one ........ r69881 | tarek.ziade | 2009-02-22 20:15:41 +0000 (So, 22 Feb 2009) | 1 line Removing unused __main__ sections ........ r69889 | matthias.klose | 2009-02-22 23:14:26 +0000 (So, 22 Feb 2009) | 2 lines - Link the shared python library with $(MODLIBS). ........ r69901 | georg.brandl | 2009-02-23 11:24:46 +0000 (Mo, 23 Feb 2009) | 2 lines #5349: C++ pure virtuals can also have an implementation. ........ r69902 | tarek.ziade | 2009-02-23 12:41:29 +0000 (Mo, 23 Feb 2009) | 1 line more test coverage ........ r69907 | georg.brandl | 2009-02-23 18:33:48 +0000 (Mo, 23 Feb 2009) | 1 line Fix grammar. ........ r69908 | raymond.hettinger | 2009-02-23 19:32:55 +0000 (Mo, 23 Feb 2009) | 1 line Update itertools recipes to use next(). ........ r69937 | raymond.hettinger | 2009-02-24 12:23:23 +0000 (Di, 24 Feb 2009) | 3 lines Backport 69934: Register xrange() as a Sequence. ........ r69946 | brett.cannon | 2009-02-24 22:01:02 +0000 (Di, 24 Feb 2009) | 2 lines Expand upon test_site.test_s_option to try to debug its failure. ........ r69947 | jeffrey.yasskin | 2009-02-24 22:48:34 +0000 (Di, 24 Feb 2009) | 3 lines Tools/scripts/analyze_dxp.py, a module with some helper functions to analyze the output of sys.getdxp(). ........ r69952 | raymond.hettinger | 2009-02-25 00:37:57 +0000 (Mi, 25 Feb 2009) | 1 line Sync-up py3.1 doc updates for super(). ........ r69953 | raymond.hettinger | 2009-02-25 00:39:47 +0000 (Mi, 25 Feb 2009) | 1 line Restore Py2.x version of sample call to super(). ........ r69955 | raymond.hettinger | 2009-02-25 00:52:37 +0000 (Mi, 25 Feb 2009) | 1 line More markup and spelling fixes. ........ r69959 | raymond.hettinger | 2009-02-25 01:06:52 +0000 (Mi, 25 Feb 2009) | 1 line Remove reference to zero argument form of super() in 2.x docs. ........ r69974 | mark.dickinson | 2009-02-25 20:29:50 +0000 (Mi, 25 Feb 2009) | 3 lines Replace long with twodigits, to avoid depending on sizeof(digit) < sizeof(long) ........ r69976 | tarek.ziade | 2009-02-25 22:29:27 +0000 (Mi, 25 Feb 2009) | 1 line Fixed #5316 : test failure in test_site ........ r69981 | raymond.hettinger | 2009-02-25 22:48:24 +0000 (Mi, 25 Feb 2009) | 1 line Clarify Counter() docs. ........ r69983 | raymond.hettinger | 2009-02-26 00:05:24 +0000 (Do, 26 Feb 2009) | 1 line Fix typo. ........ r69994 | georg.brandl | 2009-02-26 17:36:26 +0000 (Do, 26 Feb 2009) | 1 line Document that setting sys.py3kwarning wont do anything. ........ r70000 | benjamin.peterson | 2009-02-26 19:07:18 +0000 (Do, 26 Feb 2009) | 1 line remove deprecated symtable.Symbol methods ........ |
||
---|---|---|
Demo | ||
Doc | ||
Grammar | ||
Include | ||
Lib | ||
Mac | ||
Misc | ||
Modules | ||
Objects | ||
PC | ||
PCbuild | ||
Parser | ||
Python | ||
RISCOS | ||
Tools | ||
.bzrignore | ||
.hgignore | ||
.hgtags | ||
LICENSE | ||
Makefile.pre.in | ||
README | ||
configure | ||
configure.in | ||
install-sh | ||
pyconfig.h.in | ||
setup.py |
README
This is Python version 2.6.5 ============================ Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Python Software Foundation. All rights reserved. Copyright (c) 2000 BeOpen.com. All rights reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All rights reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum. All rights reserved. License information ------------------- See the file "LICENSE" for information on the history of this software, terms & conditions for usage, and a DISCLAIMER OF ALL WARRANTIES. This Python distribution contains no GNU General Public Licensed (GPLed) code so it may be used in proprietary projects just like prior Python distributions. There are interfaces to some GNU code but these are entirely optional. All trademarks referenced herein are property of their respective holders. What's new in this release? --------------------------- See the file "Misc/NEWS". If you don't read instructions ------------------------------ Congratulations on getting this far. :-) To start building right away (on UNIX): type "./configure" in the current directory and when it finishes, type "make". This creates an executable "./python"; to install in /usr/local, first do "su root" and then "make install". The section `Build instructions' below is still recommended reading. What is Python anyway? ---------------------- Python is an interpreted, interactive object-oriented programming language suitable (amongst other uses) for distributed application development, scripting, numeric computing and system testing. Python is often compared to Tcl, Perl, Java, JavaScript, Visual Basic or Scheme. To find out more about what Python can do for you, point your browser to http://www.python.org/. How do I learn Python? ---------------------- The official tutorial is still a good place to start; see http://docs.python.org/ for online and downloadable versions, as well as a list of other introductions, and reference documentation. There's a quickly growing set of books on Python. See http://wiki.python.org/moin/PythonBooks for a list. Documentation ------------- All documentation is provided online in a variety of formats. In order of importance for new users: Tutorial, Library Reference, Language Reference, Extending & Embedding, and the Python/C API. The Library Reference is especially of immense value since much of Python's power is described there, including the built-in data types and functions! All documentation is also available online at the Python web site (http://docs.python.org/, see below). It is available online for occasional reference, or can be downloaded in many formats for faster access. The documentation is downloadable in HTML, PostScript, PDF, LaTeX, and reStructuredText (2.6+) formats; the LaTeX and reStructuredText versions are primarily for documentation authors, translators, and people with special formatting requirements. Web sites --------- New Python releases and related technologies are published at http://www.python.org/. Come visit us! Newsgroups and Mailing Lists ---------------------------- Read comp.lang.python, a high-volume discussion newsgroup about Python, or comp.lang.python.announce, a low-volume moderated newsgroup for Python-related announcements. These are also accessible as mailing lists: see http://www.python.org/community/lists/ for an overview of these and many other Python-related mailing lists. Archives are accessible via the Google Groups Usenet archive; see http://groups.google.com/. The mailing lists are also archived, see http://www.python.org/community/lists/ for details. Bug reports ----------- To report or search for bugs, please use the Python Bug Tracker at http://bugs.python.org/. Patches and contributions ------------------------- To submit a patch or other contribution, please use the Python Patch Manager at http://bugs.python.org/. Guidelines for patch submission may be found at http://www.python.org/dev/patches/. If you have a proposal to change Python, you may want to send an email to the comp.lang.python or python-ideas mailing lists for inital feedback. A Python Enhancement Proposal (PEP) may be submitted if your idea gains ground. All current PEPs, as well as guidelines for submitting a new PEP, are listed at http://www.python.org/dev/peps/. Questions --------- For help, if you can't find it in the manuals or on the web site, it's best to post to the comp.lang.python or the Python mailing list (see above). If you specifically don't want to involve the newsgroup or mailing list, send questions to help@python.org (a group of volunteers who answer questions as they can). The newsgroup is the most efficient way to ask public questions. Build instructions ================== Before you can build Python, you must first configure it. Fortunately, the configuration and build process has been automated for Unix and Linux installations, so all you usually have to do is type a few commands and sit back. There are some platforms where things are not quite as smooth; see the platform specific notes below. If you want to build for multiple platforms sharing the same source tree, see the section on VPATH below. Start by running the script "./configure", which determines your system configuration and creates the Makefile. (It takes a minute or two -- please be patient!) You may want to pass options to the configure script -- see the section below on configuration options and variables. When it's done, you are ready to run make. To build Python, you normally type "make" in the toplevel directory. If you have changed the configuration, the Makefile may have to be rebuilt. In this case, you may have to run make again to correctly build your desired target. The interpreter executable is built in the top level directory. Once you have built a Python interpreter, see the subsections below on testing and installation. If you run into trouble, see the next section. Previous versions of Python used a manual configuration process that involved editing the file Modules/Setup. While this file still exists and manual configuration is still supported, it is rarely needed any more: almost all modules are automatically built as appropriate under guidance of the setup.py script, which is run by Make after the interpreter has been built. Troubleshooting --------------- See also the platform specific notes in the next section. If you run into other trouble, see the FAQ (http://www.python.org/doc/faq/) for hints on what can go wrong, and how to fix it. If you rerun the configure script with different options, remove all object files by running "make clean" before rebuilding. Believe it or not, "make clean" sometimes helps to clean up other inexplicable problems as well. Try it before sending in a bug report! If the configure script fails or doesn't seem to find things that should be there, inspect the config.log file. If you get a warning for every file about the -Olimit option being no longer supported, you can ignore it. There's no foolproof way to know whether this option is needed; all we can do is test whether it is accepted without error. On some systems, e.g. older SGI compilers, it is essential for performance (specifically when compiling ceval.c, which has more basic blocks than the default limit of 1000). If the warning bothers you, edit the Makefile to remove "-Olimit 1500" from the OPT variable. If you get failures in test_long, or sys.maxint gets set to -1, you are probably experiencing compiler bugs, usually related to optimization. This is a common problem with some versions of gcc, and some vendor-supplied compilers, which can sometimes be worked around by turning off optimization. Consider switching to stable versions (gcc 2.95.2, gcc 3.x, or contact your vendor.) From Python 2.0 onward, all Python C code is ANSI C. Compiling using old K&R-C-only compilers is no longer possible. ANSI C compilers are available for all modern systems, either in the form of updated compilers from the vendor, or one of the free compilers (gcc). If "make install" fails mysteriously during the "compiling the library" step, make sure that you don't have any of the PYTHONPATH or PYTHONHOME environment variables set, as they may interfere with the newly built executable which is compiling the library. Unsupported systems ------------------- A number of features are not supported in Python 2.5 anymore. Some support code is still present, but will be removed in Python 2.6. If you still need to use current Python versions on these systems, please send a message to python-dev@python.org indicating that you volunteer to support this system. For a more detailed discussion regarding no-longer-supported and resupporting platforms, as well as a list of platforms that became or will be unsupported, see PEP 11. More specifically, the following systems are not supported any longer: - SunOS 4 - DYNIX - dgux - Minix - NeXT - Irix 4 and --with-sgi-dl - Linux 1 - Systems defining __d6_pthread_create (configure.in) - Systems defining PY_PTHREAD_D4, PY_PTHREAD_D6, or PY_PTHREAD_D7 in thread_pthread.h - Systems using --with-dl-dld - Systems using --without-universal-newlines - MacOS 9 The following systems are still supported in Python 2.5, but support will be dropped in 2.6: - Systems using --with-wctype-functions - Win9x, WinME Warning on install in Windows 98 and Windows Me ----------------------------------------------- Following Microsoft's closing of Extended Support for Windows 98/ME (July 11, 2006), Python 2.6 will stop supporting these platforms. Python development and maintainability becomes easier (and more reliable) when platform specific code targeting OSes with few users and no dedicated expert developers is taken out. The vendor also warns that the OS versions listed above "can expose customers to security risks" and recommends upgrade. Platform specific notes ----------------------- (Some of these may no longer apply. If you find you can build Python on these platforms without the special directions mentioned here, submit a documentation bug report to SourceForge (see Bug Reports above) so we can remove them!) Unix platforms: If your vendor still ships (and you still use) Berkeley DB 1.85 you will need to edit Modules/Setup to build the bsddb185 module and add a line to sitecustomize.py which makes it the default. In Modules/Setup a line like bsddb185 bsddbmodule.c should work. (You may need to add -I, -L or -l flags to direct the compiler and linker to your include files and libraries.) XXX I think this next bit is out of date: 64-bit platforms: The modules audioop, and imageop don't work. The setup.py script disables them on 64-bit installations. Don't try to enable them in the Modules/Setup file. They contain code that is quite wordsize sensitive. (If you have a fix, let us know!) Solaris: When using Sun's C compiler with threads, at least on Solaris 2.5.1, you need to add the "-mt" compiler option (the simplest way is probably to specify the compiler with this option as the "CC" environment variable when running the configure script). When using GCC on Solaris, beware of binutils 2.13 or GCC versions built using it. This mistakenly enables the -zcombreloc option which creates broken shared libraries on Solaris. binutils 2.12 works, and the binutils maintainers are aware of the problem. Binutils 2.13.1 only partially fixed things. It appears that 2.13.2 solves the problem completely. This problem is known to occur with Solaris 2.7 and 2.8, but may also affect earlier and later versions of the OS. When the dynamic loader complains about errors finding shared libraries, such as ld.so.1: ./python: fatal: libstdc++.so.5: open failed: No such file or directory you need to first make sure that the library is available on your system. Then, you need to instruct the dynamic loader how to find it. You can choose any of the following strategies: 1. When compiling Python, set LD_RUN_PATH to the directories containing missing libraries. 2. When running Python, set LD_LIBRARY_PATH to these directories. 3. Use crle(8) to extend the search path of the loader. 4. Modify the installed GCC specs file, adding -R options into the *link: section. The complex object fails to compile on Solaris 10 with gcc 3.4 (at least up to 3.4.3). To work around it, define Py_HUGE_VAL as HUGE_VAL(), e.g.: make CPPFLAGS='-D"Py_HUGE_VAL=HUGE_VAL()" -I. -I$(srcdir)/Include' ./python setup.py CPPFLAGS='-D"Py_HUGE_VAL=HUGE_VAL()"' Linux: A problem with threads and fork() was tracked down to a bug in the pthreads code in glibc version 2.0.5; glibc version 2.0.7 solves the problem. This causes the popen2 test to fail; problem and solution reported by Pablo Bleyer. Red Hat Linux: Red Hat 9 built Python2.2 in UCS-4 mode and hacked Tcl to support it. To compile Python2.3 with Tkinter, you will need to pass --enable-unicode=ucs4 flag to ./configure. There's an executable /usr/bin/python which is Python 1.5.2 on most older Red Hat installations; several key Red Hat tools require this version. Python 2.1.x may be installed as /usr/bin/python2. The Makefile installs Python as /usr/local/bin/python, which may or may not take precedence over /usr/bin/python, depending on how you have set up $PATH. FreeBSD 3.x and probably platforms with NCurses that use libmytinfo or similar: When using cursesmodule, the linking is not done in the correct order with the defaults. Remove "-ltermcap" from the readline entry in Setup, and use as curses entry: "curses cursesmodule.c -lmytinfo -lncurses -ltermcap" - "mytinfo" (so called on FreeBSD) should be the name of the auxiliary library required on your platform. Normally, it would be linked automatically, but not necessarily in the correct order. BSDI: BSDI versions before 4.1 have known problems with threads, which can cause strange errors in a number of modules (for instance, the 'test_signal' test script will hang forever.) Turning off threads (with --with-threads=no) or upgrading to BSDI 4.1 solves this problem. DEC Unix: Run configure with --with-dec-threads, or with --with-threads=no if no threads are desired (threads are on by default). When using GCC, it is possible to get an internal compiler error if optimization is used. This was reported for GCC 2.7.2.3 on selectmodule.c. Manually compile the affected file without optimization to solve the problem. DEC Ultrix: compile with GCC to avoid bugs in the native compiler, and pass SHELL=/bin/sh5 to Make when installing. AIX: A complete overhaul of the shared library support is now in place. See Misc/AIX-NOTES for some notes on how it's done. (The optimizer bug reported at this place in previous releases has been worked around by a minimal code change.) If you get errors about pthread_* functions, during compile or during testing, try setting CC to a thread-safe (reentrant) compiler, like "cc_r". For full C++ module support, set CC="xlC_r" (or CC="xlC" without thread support). AIX 5.3: To build a 64-bit version with IBM's compiler, I used the following: export PATH=/usr/bin:/usr/vacpp/bin ./configure --with-gcc="xlc_r -q64" --with-cxx="xlC_r -q64" \ --disable-ipv6 AR="ar -X64" make HP-UX: When using threading, you may have to add -D_REENTRANT to the OPT variable in the top-level Makefile; reported by Pat Knight, this seems to make a difference (at least for HP-UX 10.20) even though pyconfig.h defines it. This seems unnecessary when using HP/UX 11 and later - threading seems to work "out of the box". HP-UX ia64: When building on the ia64 (Itanium) platform using HP's compiler, some experience has shown that the compiler's optimiser produces a completely broken version of python (see http://bugs.python.org/814976). To work around this, edit the Makefile and remove -O from the OPT line. To build a 64-bit executable on an Itanium 2 system using HP's compiler, use these environment variables: CC=cc CXX=aCC BASECFLAGS="+DD64" LDFLAGS="+DD64 -lxnet" and call configure as: ./configure --without-gcc then *unset* the environment variables again before running make. (At least one of these flags causes the build to fail if it remains set.) You still have to edit the Makefile and remove -O from the OPT line. HP PA-RISC 2.0: A recent bug report (http://bugs.python.org/546117) suggests that the C compiler in this 64-bit system has bugs in the optimizer that break Python. Compiling without optimization solves the problems. SCO: The following apply to SCO 3 only; Python builds out of the box on SCO 5 (or so we've heard). 1) Everything works much better if you add -U__STDC__ to the defs. This is because all the SCO header files are broken. Anything that isn't mentioned in the C standard is conditionally excluded when __STDC__ is defined. 2) Due to the U.S. export restrictions, SCO broke the crypt stuff out into a separate library, libcrypt_i.a so the LIBS needed be set to: LIBS=' -lsocket -lcrypt_i' UnixWare: There are known bugs in the math library of the system, as well as problems in the handling of threads (calling fork in one thread may interrupt system calls in others). Therefore, test_math and tests involving threads will fail until those problems are fixed. QNX: Chris Herborth (chrish@qnx.com) writes: configure works best if you use GNU bash; a port is available on ftp.qnx.com in /usr/free. I used the following process to build, test and install Python 1.5.x under QNX: 1) CONFIG_SHELL=/usr/local/bin/bash CC=cc RANLIB=: \ ./configure --verbose --without-gcc --with-libm="" 2) edit Modules/Setup to activate everything that makes sense for your system... tested here at QNX with the following modules: array, audioop, binascii, cPickle, cStringIO, cmath, crypt, curses, errno, fcntl, gdbm, grp, imageop, _locale, math, md5, new, operator, parser, pcre, posix, pwd, readline, regex, reop, select, signal, socket, soundex, strop, struct, syslog, termios, time, timing, zlib, audioop, imageop 3) make SHELL=/usr/local/bin/bash or, if you feel the need for speed: make SHELL=/usr/local/bin/bash OPT="-5 -Oil+nrt" 4) make SHELL=/usr/local/bin/bash test Using GNU readline 2.2 seems to behave strangely, but I think that's a problem with my readline 2.2 port. :-\ 5) make SHELL=/usr/local/bin/bash install If you get SIGSEGVs while running Python (I haven't yet, but I've only run small programs and the test cases), you're probably running out of stack; the default 32k could be a little tight. To increase the stack size, edit the Makefile to read: LDFLAGS = -N 48k BeOS: See Misc/BeOS-NOTES for notes about compiling/installing Python on BeOS R3 or later. Note that only the PowerPC platform is supported for R3; both PowerPC and x86 are supported for R4. Cray T3E: Mark Hadfield (m.hadfield@niwa.co.nz) writes: Python can be built satisfactorily on a Cray T3E but based on my experience with the NIWA T3E (2002-05-22, version 2.2.1) there are a few bugs and gotchas. For more information see a thread on comp.lang.python in May 2002 entitled "Building Python on Cray T3E". 1) Use Cray's cc and not gcc. The latter was reported not to work by Konrad Hinsen. It may work now, but it may not. 2) To set sys.platform to something sensible, pass the following environment variable to the configure script: MACHDEP=unicosmk 2) Run configure with option "--enable-unicode=ucs4". 3) The Cray T3E does not support dynamic linking, so extension modules have to be built by adding (or uncommenting) lines in Modules/Setup. The minimum set of modules is posix, new, _sre, unicodedata On NIWA's vanilla T3E system the following have also been included successfully: _codecs, _locale, _socket, _symtable, _testcapi, _weakref array, binascii, cmath, cPickle, crypt, cStringIO, dbm errno, fcntl, grp, math, md5, operator, parser, pcre, pwd regex, rotor, select, struct, strop, syslog, termios time, timing, xreadlines 4) Once the python executable and library have been built, make will execute setup.py, which will attempt to build remaining extensions and link them dynamically. Each of these attempts will fail but should not halt the make process. This is normal. 5) Running "make test" uses a lot of resources and causes problems on our system. You might want to try running tests singly or in small groups. SGI: SGI's standard "make" utility (/bin/make or /usr/bin/make) does not check whether a command actually changed the file it is supposed to build. This means that whenever you say "make" it will redo the link step. The remedy is to use SGI's much smarter "smake" utility (/usr/sbin/smake), or GNU make. If you set the first line of the Makefile to #!/usr/sbin/smake smake will be invoked by make (likewise for GNU make). WARNING: There are bugs in the optimizer of some versions of SGI's compilers that can cause bus errors or other strange behavior, especially on numerical operations. To avoid this, try building with "make OPT=". OS/2: If you are running Warp3 or Warp4 and have IBM's VisualAge C/C++ compiler installed, just change into the pc\os2vacpp directory and type NMAKE. Threading and sockets are supported by default in the resulting binaries of PYTHON15.DLL and PYTHON.EXE. Monterey (64-bit AIX): The current Monterey C compiler (Visual Age) uses the OBJECT_MODE={32|64} environment variable to set the compilation mode to either 32-bit or 64-bit (32-bit mode is the default). Presumably you want 64-bit compilation mode for this 64-bit OS. As a result you must first set OBJECT_MODE=64 in your environment before configuring (./configure) or building (make) Python on Monterey. Reliant UNIX: The thread support does not compile on Reliant UNIX, and there is a (minor) problem in the configure script for that platform as well. This should be resolved in time for a future release. MacOSX: The tests will crash on both 10.1 and 10.2 with SEGV in test_re and test_sre due to the small default stack size. If you set the stack size to 2048 before doing a "make test" the failure can be avoided. If you're using the tcsh or csh shells, use "limit stacksize 2048" and for the bash shell (the default as of OSX 10.3), use "ulimit -s 2048". On naked Darwin you may want to add the configure option "--disable-toolbox-glue" to disable the glue code for the Carbon interface modules. The modules themselves are currently only built if you add the --enable-framework option, see below. On a clean OSX /usr/local does not exist. Do a "sudo mkdir -m 775 /usr/local" before you do a make install. It is probably not a good idea to do "sudo make install" which installs everything as superuser, as this may later cause problems when installing distutils-based additions. Some people have reported problems building Python after using "fink" to install additional unix software. Disabling fink (remove all references to /sw from your .profile or .login) should solve this. You may want to try the configure option "--enable-framework" which installs Python as a framework. The location can be set as argument to the --enable-framework option (default /Library/Frameworks). A framework install is probably needed if you want to use any Aqua-based GUI toolkit (whether Tkinter, wxPython, Carbon, Cocoa or anything else). You may also want to try the configure option "--enable-universalsdk" which builds Python as a universal binary with support for the i386 and PPC architetures. This requires Xcode 2.1 or later to build. See Mac/README for more information on framework and universal builds. Cygwin: With recent (relative to the time of writing, 2001-12-19) Cygwin installations, there are problems with the interaction of dynamic linking and fork(). This manifests itself in build failures during the execution of setup.py. There are two workarounds that both enable Python (albeit without threading support) to build and pass all tests on NT/2000 (and most likely XP as well, though reports of testing on XP would be appreciated). The workarounds: (a) the band-aid fix is to link the _socket module statically rather than dynamically (which is the default). To do this, run "./configure --with-threads=no" including any other options you need (--prefix, etc.). Then in Modules/Setup uncomment the lines: #SSL=/usr/local/ssl #_socket socketmodule.c \ # -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \ # -L$(SSL)/lib -lssl -lcrypto and remove "local/" from the SSL variable. Finally, just run "make"! (b) The "proper" fix is to rebase the Cygwin DLLs to prevent base address conflicts. Details on how to do this can be found in the following mail: http://sources.redhat.com/ml/cygwin/2001-12/msg00894.html It is hoped that a version of this solution will be incorporated into the Cygwin distribution fairly soon. Two additional problems: (1) Threading support should still be disabled due to a known bug in Cygwin pthreads that causes test_threadedtempfile to hang. (2) The _curses module does not build. This is a known Cygwin ncurses problem that should be resolved the next time that this package is released. On older versions of Cygwin, test_poll may hang and test_strftime may fail. The situation on 9X/Me is not accurately known at present. Some time ago, there were reports that the following regression tests failed: test_pwd test_select (hang) test_socket Due to the test_select hang on 9X/Me, one should run the regression test using the following: make TESTOPTS='-l -x test_select' test News regarding these platforms with more recent Cygwin versions would be appreciated! Windows: When executing Python scripts on the command line using file type associations (i.e. starting "script.py" instead of "python script.py"), redirects may not work unless you set a specific registry key. See the Knowledge Base article <http://support.microsoft.com/kb/321788>. Configuring the bsddb and dbm modules ------------------------------------- Beginning with Python version 2.3, the PyBsddb package <http://pybsddb.sf.net/> was adopted into Python as the bsddb package, exposing a set of package-level functions which provide backwards-compatible behavior. Only versions 3.3 through 4.4 of Sleepycat's libraries provide the necessary API, so older versions aren't supported through this interface. The old bsddb module has been retained as bsddb185, though it is not built by default. Users wishing to use it will have to tweak Modules/Setup to build it. The dbm module will still be built against the Sleepycat libraries if other preferred alternatives (ndbm, gdbm) are not found. Building the sqlite3 module --------------------------- To build the sqlite3 module, you'll need the sqlite3 or libsqlite3 packages installed, including the header files. Many modern operating systems distribute the headers in a separate package to the library - often it will be the same name as the main package, but with a -dev or -devel suffix. The version of pysqlite2 that's including in Python needs sqlite3 3.0.8 or later. setup.py attempts to check that it can find a correct version. Configuring threads ------------------- As of Python 2.0, threads are enabled by default. If you wish to compile without threads, or if your thread support is broken, pass the --with-threads=no switch to configure. Unfortunately, on some platforms, additional compiler and/or linker options are required for threads to work properly. Below is a table of those options, collected by Bill Janssen. We would love to automate this process more, but the information below is not enough to write a patch for the configure.in file, so manual intervention is required. If you patch the configure.in file and are confident that the patch works, please send in the patch. (Don't bother patching the configure script itself -- it is regenerated each time the configure.in file changes.) Compiler switches for threads ............................. The definition of _REENTRANT should be configured automatically, if that does not work on your system, or if _REENTRANT is defined incorrectly, please report that as a bug. OS/Compiler/threads Switches for use with threads (POSIX is draft 10, DCE is draft 4) compile & link SunOS 5.{1-5}/{gcc,SunPro cc}/solaris -mt SunOS 5.5/{gcc,SunPro cc}/POSIX (nothing) DEC OSF/1 3.x/cc/DCE -threads (butenhof@zko.dec.com) Digital UNIX 4.x/cc/DCE -threads (butenhof@zko.dec.com) Digital UNIX 4.x/cc/POSIX -pthread (butenhof@zko.dec.com) AIX 4.1.4/cc_r/d7 (nothing) (buhrt@iquest.net) AIX 4.1.4/cc_r4/DCE (nothing) (buhrt@iquest.net) IRIX 6.2/cc/POSIX (nothing) (robertl@cwi.nl) Linker (ld) libraries and flags for threads ........................................... OS/threads Libraries/switches for use with threads SunOS 5.{1-5}/solaris -lthread SunOS 5.5/POSIX -lpthread DEC OSF/1 3.x/DCE -lpthreads -lmach -lc_r -lc (butenhof@zko.dec.com) Digital UNIX 4.x/DCE -lpthreads -lpthread -lmach -lexc -lc (butenhof@zko.dec.com) Digital UNIX 4.x/POSIX -lpthread -lmach -lexc -lc (butenhof@zko.dec.com) AIX 4.1.4/{draft7,DCE} (nothing) (buhrt@iquest.net) IRIX 6.2/POSIX -lpthread (jph@emilia.engr.sgi.com) Building a shared libpython --------------------------- Starting with Python 2.3, the majority of the interpreter can be built into a shared library, which can then be used by the interpreter executable, and by applications embedding Python. To enable this feature, configure with --enable-shared. If you enable this feature, the same object files will be used to create a static library. In particular, the static library will contain object files using position-independent code (PIC) on platforms where PIC flags are needed for the shared library. Configuring additional built-in modules --------------------------------------- Starting with Python 2.1, the setup.py script at the top of the source distribution attempts to detect which modules can be built and automatically compiles them. Autodetection doesn't always work, so you can still customize the configuration by editing the Modules/Setup file; but this should be considered a last resort. The rest of this section only applies if you decide to edit the Modules/Setup file. You also need this to enable static linking of certain modules (which is needed to enable profiling on some systems). This file is initially copied from Setup.dist by the configure script; if it does not exist yet, create it by copying Modules/Setup.dist yourself (configure will never overwrite it). Never edit Setup.dist -- always edit Setup or Setup.local (see below). Read the comments in the file for information on what kind of edits are allowed. When you have edited Setup in the Modules directory, the interpreter will automatically be rebuilt the next time you run make (in the toplevel directory). Many useful modules can be built on any Unix system, but some optional modules can't be reliably autodetected. Often the quickest way to determine whether a particular module works or not is to see if it will build: enable it in Setup, then if you get compilation or link errors, disable it -- you're either missing support or need to adjust the compilation and linking parameters for that module. On SGI IRIX, there are modules that interface to many SGI specific system libraries, e.g. the GL library and the audio hardware. These modules will not be built by the setup.py script. In addition to the file Setup, you can also edit the file Setup.local. (the makesetup script processes both). You may find it more convenient to edit Setup.local and leave Setup alone. Then, when installing a new Python version, you can copy your old Setup.local file. Setting the optimization/debugging options ------------------------------------------ If you want or need to change the optimization/debugging options for the C compiler, assign to the OPT variable on the toplevel make command; e.g. "make OPT=-g" will build a debugging version of Python on most platforms. The default is OPT=-O; a value for OPT in the environment when the configure script is run overrides this default (likewise for CC; and the initial value for LIBS is used as the base set of libraries to link with). When compiling with GCC, the default value of OPT will also include the -Wall and -Wstrict-prototypes options. Additional debugging code to help debug memory management problems can be enabled by using the --with-pydebug option to the configure script. For flags that change binary compatibility, use the EXTRA_CFLAGS variable. Profiling --------- If you want C profiling turned on, the easiest way is to run configure with the CC environment variable to the necessary compiler invocation. For example, on Linux, this works for profiling using gprof(1): CC="gcc -pg" ./configure Note that on Linux, gprof apparently does not work for shared libraries. The Makefile/Setup mechanism can be used to compile and link most extension modules statically. Coverage checking ----------------- For C coverage checking using gcov, run "make coverage". This will build a Python binary with profiling activated, and a ".gcno" and ".gcda" file for every source file compiled with that option. With the built binary, now run the code whose coverage you want to check. Then, you can see coverage statistics for each individual source file by running gcov, e.g. gcov -o Modules zlibmodule This will create a "zlibmodule.c.gcov" file in the current directory containing coverage info for that source file. This works only for source files statically compiled into the executable; use the Makefile/Setup mechanism to compile and link extension modules you want to coverage-check statically. Testing ------- To test the interpreter, type "make test" in the top-level directory. This runs the test set twice (once with no compiled files, once with the compiled files left by the previous test run). The test set produces some output. You can generally ignore the messages about skipped tests due to optional features which can't be imported. If a message is printed about a failed test or a traceback or core dump is produced, something is wrong. On some Linux systems (those that are not yet using glibc 6), test_strftime fails due to a non-standard implementation of strftime() in the C library. Please ignore this, or upgrade to glibc version 6. By default, tests are prevented from overusing resources like disk space and memory. To enable these tests, run "make testall". IMPORTANT: If the tests fail and you decide to mail a bug report, *don't* include the output of "make test". It is useless. Run the failing test manually, as follows: ./python Lib/test/regrtest.py -v test_whatever (substituting the top of the source tree for '.' if you built in a different directory). This runs the test in verbose mode. Installing ---------- To install the Python binary, library modules, shared library modules (see below), include files, configuration files, and the manual page, just type make install This will install all platform-independent files in subdirectories of the directory given with the --prefix option to configure or to the `prefix' Make variable (default /usr/local). All binary and other platform-specific files will be installed in subdirectories if the directory given by --exec-prefix or the `exec_prefix' Make variable (defaults to the --prefix directory) is given. If DESTDIR is set, it will be taken as the root directory of the installation, and files will be installed into $(DESTDIR)$(prefix), $(DESTDIR)$(exec_prefix), etc. All subdirectories created will have Python's version number in their name, e.g. the library modules are installed in "/usr/local/lib/python<version>/" by default, where <version> is the <major>.<minor> release number (e.g. "2.1"). The Python binary is installed as "python<version>" and a hard link named "python" is created. The only file not installed with a version number in its name is the manual page, installed as "/usr/local/man/man1/python.1" by default. If you want to install multiple versions of Python see the section below entitled "Installing multiple versions". The only thing you may have to install manually is the Python mode for Emacs found in Misc/python-mode.el. (But then again, more recent versions of Emacs may already have it.) Follow the instructions that came with Emacs for installation of site-specific files. On Mac OS X, if you have configured Python with --enable-framework, you should use "make frameworkinstall" to do the installation. Note that this installs the Python executable in a place that is not normally on your PATH, you may want to set up a symlink in /usr/local/bin. Installing multiple versions ---------------------------- On Unix and Mac systems if you intend to install multiple versions of Python using the same installation prefix (--prefix argument to the configure script) you must take care that your primary python executable is not overwritten by the installation of a different version. All files and directories installed using "make altinstall" contain the major and minor version and can thus live side-by-side. "make install" also creates ${prefix}/bin/python which refers to ${prefix}/bin/pythonX.Y. If you intend to install multiple versions using the same prefix you must decide which version (if any) is your "primary" version. Install that version using "make install". Install all other versions using "make altinstall". For example, if you want to install Python 2.5, 2.6 and 3.0 with 2.6 being the primary version, you would execute "make install" in your 2.6 build directory and "make altinstall" in the others. Configuration options and variables ----------------------------------- Some special cases are handled by passing options to the configure script. WARNING: if you rerun the configure script with different options, you must run "make clean" before rebuilding. Exceptions to this rule: after changing --prefix or --exec-prefix, all you need to do is remove Modules/getpath.o. --with(out)-gcc: The configure script uses gcc (the GNU C compiler) if it finds it. If you don't want this, or if this compiler is installed but broken on your platform, pass the option --without-gcc. You can also pass "CC=cc" (or whatever the name of the proper C compiler is) in the environment, but the advantage of using --without-gcc is that this option is remembered by the config.status script for its --recheck option. --prefix, --exec-prefix: If you want to install the binaries and the Python library somewhere else than in /usr/local/{bin,lib}, you can pass the option --prefix=DIRECTORY; the interpreter binary will be installed as DIRECTORY/bin/python and the library files as DIRECTORY/lib/python/*. If you pass --exec-prefix=DIRECTORY (as well) this overrides the installation prefix for architecture-dependent files (like the interpreter binary). Note that --prefix=DIRECTORY also affects the default module search path (sys.path), when Modules/config.c is compiled. Passing make the option prefix=DIRECTORY (and/or exec_prefix=DIRECTORY) overrides the prefix set at configuration time; this may be more convenient than re-running the configure script if you change your mind about the install prefix. --with-readline: This option is no longer supported. GNU readline is automatically enabled by setup.py when present. --with-threads: On most Unix systems, you can now use multiple threads, and support for this is enabled by default. To disable this, pass --with-threads=no. If the library required for threads lives in a peculiar place, you can use --with-thread=DIRECTORY. IMPORTANT: run "make clean" after changing (either enabling or disabling) this option, or you will get link errors! Note: for DEC Unix use --with-dec-threads instead. --with-sgi-dl: On SGI IRIX 4, dynamic loading of extension modules is supported by the "dl" library by Jack Jansen, which is ftp'able from ftp://ftp.cwi.nl/pub/dynload/dl-1.6.tar.Z. This is enabled (after you've ftp'ed and compiled the dl library) by passing --with-sgi-dl=DIRECTORY where DIRECTORY is the absolute pathname of the dl library. (Don't bother on IRIX 5, it already has dynamic linking using SunOS style shared libraries.) THIS OPTION IS UNSUPPORTED. --with-dl-dld: Dynamic loading of modules is rumored to be supported on some other systems: VAX (Ultrix), Sun3 (SunOS 3.4), Sequent Symmetry (Dynix), and Atari ST. This is done using a combination of the GNU dynamic loading package (ftp://ftp.cwi.nl/pub/dynload/dl-dld-1.1.tar.Z) and an emulation of the SGI dl library mentioned above (the emulation can be found at ftp://ftp.cwi.nl/pub/dynload/dld-3.2.3.tar.Z). To enable this, ftp and compile both libraries, then call configure, passing it the option --with-dl-dld=DL_DIRECTORY,DLD_DIRECTORY where DL_DIRECTORY is the absolute pathname of the dl emulation library and DLD_DIRECTORY is the absolute pathname of the GNU dld library. (Don't bother on SunOS 4 or 5, they already have dynamic linking using shared libraries.) THIS OPTION IS UNSUPPORTED. --with-libm, --with-libc: It is possible to specify alternative versions for the Math library (default -lm) and the C library (default the empty string) using the options --with-libm=STRING and --with-libc=STRING, respectively. For example, if your system requires that you pass -lc_s to the C compiler to use the shared C library, you can pass --with-libc=-lc_s. These libraries are passed after all other libraries, the C library last. --with-libs='libs': Add 'libs' to the LIBS that the python interpreter is linked against. --with-cxx-main=<compiler>: If you plan to use C++ extension modules, then -- on some platforms -- you need to compile python's main() function with the C++ compiler. With this option, make will use <compiler> to compile main() *and* to link the python executable. It is likely that the resulting executable depends on the C++ runtime library of <compiler>. (The default is --without-cxx-main.) There are platforms that do not require you to build Python with a C++ compiler in order to use C++ extension modules. E.g., x86 Linux with ELF shared binaries and GCC 3.x, 4.x is such a platform. We recommend that you configure Python --without-cxx-main on those platforms because a mismatch between the C++ compiler version used to build Python and to build a C++ extension module is likely to cause a crash at runtime. The Python installation also stores the variable CXX that determines, e.g., the C++ compiler distutils calls by default to build C++ extensions. If you set CXX on the configure command line to any string of non-zero length, then configure won't change CXX. If you do not preset CXX but pass --with-cxx-main=<compiler>, then configure sets CXX=<compiler>. In all other cases, configure looks for a C++ compiler by some common names (c++, g++, gcc, CC, cxx, cc++, cl) and sets CXX to the first compiler it finds. If it does not find any C++ compiler, then it sets CXX="". Similarly, if you want to change the command used to link the python executable, then set LINKCC on the configure command line. --with-pydebug: Enable additional debugging code to help track down memory management problems. This allows printing a list of all live objects when the interpreter terminates. --with(out)-universal-newlines: enable reading of text files with foreign newline convention (default: enabled). In other words, any of \r, \n or \r\n is acceptable as end-of-line character. If enabled import and execfile will automatically accept any newline in files. Python code can open a file with open(file, 'U') to read it in universal newline mode. THIS OPTION IS UNSUPPORTED. --with-tsc: Profile using the Pentium timestamping counter (TSC). --with-system-ffi: Build the _ctypes extension module using an ffi library installed on the system. Building for multiple architectures (using the VPATH feature) ------------------------------------------------------------- If your file system is shared between multiple architectures, it usually is not necessary to make copies of the sources for each architecture you want to support. If the make program supports the VPATH feature, you can create an empty build directory for each architecture, and in each directory run the configure script (on the appropriate machine with the appropriate options). This creates the necessary subdirectories and the Makefiles therein. The Makefiles contain a line VPATH=... which points to a directory containing the actual sources. (On SGI systems, use "smake -J1" instead of "make" if you use VPATH -- don't try gnumake.) For example, the following is all you need to build a minimal Python in /usr/tmp/python (assuming ~guido/src/python is the toplevel directory and you want to build in /usr/tmp/python): $ mkdir /usr/tmp/python $ cd /usr/tmp/python $ ~guido/src/python/configure [...] $ make [...] $ Note that configure copies the original Setup file to the build directory if it finds no Setup file there. This means that you can edit the Setup file for each architecture independently. For this reason, subsequent changes to the original Setup file are not tracked automatically, as they might overwrite local changes. To force a copy of a changed original Setup file, delete the target Setup file. (The makesetup script supports multiple input files, so if you want to be fancy you can change the rules to create an empty Setup.local if it doesn't exist and run it with arguments $(srcdir)/Setup Setup.local; however this assumes that you only need to add modules.) Also note that you can't use a workspace for VPATH and non VPATH builds. The object files left behind by one version confuses the other. Building on non-UNIX systems ---------------------------- For Windows (2000/NT/ME/98/95), assuming you have MS VC++ 7.1, the project files are in PCbuild, the workspace is pcbuild.dsw. See PCbuild\readme.txt for detailed instructions. For other non-Unix Windows compilers, in particular MS VC++ 6.0 and for OS/2, enter the directory "PC" and read the file "readme.txt". For the Mac, a separate source distribution will be made available, for use with the CodeWarrior compiler. If you are interested in Mac development, join the PythonMac Special Interest Group (http://www.python.org/sigs/pythonmac-sig/, or send email to pythonmac-sig-request@python.org). Of course, there are also binary distributions available for these platforms -- see http://www.python.org/. To port Python to a new non-UNIX system, you will have to fake the effect of running the configure script manually (for Mac and PC, this has already been done for you). A good start is to copy the file pyconfig.h.in to pyconfig.h and edit the latter to reflect the actual configuration of your system. Most symbols must simply be defined as 1 only if the corresponding feature is present and can be left alone otherwise; however the *_t type symbols must be defined as some variant of int if they need to be defined at all. For all platforms, it's important that the build arrange to define the preprocessor symbol NDEBUG on the compiler command line in a release build of Python (else assert() calls remain in the code, hurting release-build performance). The Unix, Windows and Mac builds already do this. Miscellaneous issues ==================== Emacs mode ---------- There's an excellent Emacs editing mode for Python code; see the file Misc/python-mode.el. Originally written by the famous Tim Peters, it is now maintained by the equally famous Barry Warsaw (it's no coincidence that they now both work on the same team). The latest version, along with various other contributed Python-related Emacs goodies, is online at http://www.python.org/emacs/python-mode/. And if you are planning to edit the Python C code, please pick up the latest version of CC Mode http://www.python.org/emacs/cc-mode/; it contains a "python" style used throughout most of the Python C source files. (Newer versions of Emacs or XEmacs may already come with the latest version of python-mode.) Tkinter ------- The setup.py script automatically configures this when it detects a usable Tcl/Tk installation. This requires Tcl/Tk version 8.0 or higher. For more Tkinter information, see the Tkinter Resource page: http://www.python.org/topics/tkinter/ There are demos in the Demo/tkinter directory. Note that there's a Python module called "Tkinter" (capital T) which lives in Lib/lib-tk/Tkinter.py, and a C module called "_tkinter" (lower case t and leading underscore) which lives in Modules/_tkinter.c. Demos and normal Tk applications import only the Python Tkinter module -- only the latter imports the C _tkinter module. In order to find the C _tkinter module, it must be compiled and linked into the Python interpreter -- the setup.py script does this. In order to find the Python Tkinter module, sys.path must be set correctly -- normal installation takes care of this. Distribution structure ---------------------- Most subdirectories have their own README files. Most files have comments. Demo/ Demonstration scripts, modules and programs Doc/ Documentation sources (reStructuredText) Grammar/ Input for the parser generator Include/ Public header files LICENSE Licensing information Lib/ Python library modules Mac/ Macintosh specific resources Makefile.pre.in Source from which config.status creates the Makefile.pre Misc/ Miscellaneous useful files Modules/ Implementation of most built-in modules Objects/ Implementation of most built-in object types PC/ Files specific to PC ports (DOS, Windows, OS/2) PCbuild/ Build directory for Microsoft Visual C++ Parser/ The parser and tokenizer and their input handling Python/ The byte-compiler and interpreter README The file you're reading now RISCOS/ Files specific to RISC OS port Tools/ Some useful programs written in Python pyconfig.h.in Source from which pyconfig.h is created (GNU autoheader output) configure Configuration shell script (GNU autoconf output) configure.in Configuration specification (input for GNU autoconf) install-sh Shell script used to install files setup.py Python script used to build extension modules The following files will (may) be created in the toplevel directory by the configuration and build processes: Makefile Build rules Makefile.pre Build rules before running Modules/makesetup buildno Keeps track of the build number config.cache Cache of configuration variables pyconfig.h Configuration header config.log Log from last configure run config.status Status from last run of the configure script getbuildinfo.o Object file from Modules/getbuildinfo.c libpython<version>.a The library archive python The executable interpreter reflog.txt Output from running the regression suite with the -R flag tags, TAGS Tags files for vi and Emacs That's all, folks! ------------------ --Guido van Rossum (home page: http://www.python.org/~guido/)