What's new in this version: Security: - Minimal fix to prevent buffer overrun in os.symlink on Windows - Regexes in difflib and poplib were vulnerable to catastrophic backtracking. These regexes formed potential DOS vectors (REDOS). They have been refactored.
Core and Builtins: - Fixed jumping out of “with” block by setting f_lineno. - Prevent jumps from ‘return’ and ‘exception’ trace events. - Update Valgrind suppression list to account for the rename of Py_ADDRESS_IN_RANG to address_in_range. - Pdb and other debuggers dependent on bdb.py will correctly step over (next command) native coroutines. - Improve suggestion when the Python 2 form of print statement is either present on the same line as the header of a compound statement or else terminated by a semi-colon instead of a newline. - Fix possible crashing in builtin Unicode decoders caused by write out-of- bound errors when using customized decode error handlers. - Improved frozenset() hash to create more distinct hash values when faced with datasets containing many similar values. - The __debug__ constant is now optimized out at compile time. - sys.flags.hash_randomization is now properly set to 0 when hash randomization is turned off by PYTHONHASHSEED=0. - The optimizer is now protected from spending much time doing complex calculations and consuming much memory for creating large constants in constant folding. - repr() on a dict containing its own values() or items() no longer raises RecursionError; OrderedDict similarly. Instead, use ..., as for other recursive structures. - Leading whitespace is now correctly ignored when generating suggestions for converting Py2 print statements to Py3 builtin print function calls. - The repr of deeply nested dict now raises a RecursionError instead of crashing due to a stack overflow.
Library: - lib2to3 now properly supports trailing commas after *args and **kwargs in function signatures. - Avoid failing in multiprocessing.Process if the standard streams are closed or None at exit. - Skip sending/receiving data after SSL transport closing. - Fix ctypes pass-by-value for structs on 64-bit Cygwin/MinGW. - Fix inspect.signature() for single-parameter partialmethods. - Expose several missing constants in zlib and fix corresponding documentation. - Fixed tarfile.itn handling of out-of-bounds float values. - The ssl module now detects missing NPN support in LibreSSL. - dbm.open() now encodes filename with the filesystem encoding rather than default encoding. - In os.dup2, don’t check every call whether the dup3 syscall exists or not. - Rewrite confusing message from setup.py upload from “No dist file created in earlier command” to the more helpful “Must create and upload files in one command”. - In tkinter, after_cancel(None) now raises a ValueError instead of canceling the first scheduled function. - Make sure sys.argv remains as a list when running trace. - Fixed asyncio.Condition issue which silently ignored cancellation after notifying and cancelling a conditional lock. - Fixed refleaks of __init__() methods in various modules. - Fixed guessing quote and delimiter in csv.Sniffer.sniff() when only the last field is quoted. - socket: Remove TCP_FASTOPEN, TCP_KEEPCNT flags on older version Windows during run-time. - Fix a rare but potential pre-exec child process deadlock in subprocess on POSIX systems when marking file descriptors inheritable on exec in the child process. This bug appears to have been introduced in 3.4. - The ctypes module used to depend on indirect linking for dlopen. The shared extension is now explicitly linked against libdl on platforms with dl. - Fixed asyncio.Lock() safety issue which allowed acquiring and locking the same lock multiple times, without it being free. - Do not include name field in SMTP envelope from address. - Fix email address header parsing error when the username is an empty quoted string. - distutils’ upload command no longer corrupts tar files ending with a CR byte, and no longer tries to convert CR to CRLF in any of the upload text fields. - uuid.uuid1 no longer raises an exception if a 64-bit hardware address is encountered. - Fix the error handling in Aifc_read.initfp() when the SSND chunk is not found. - On FreeBSD and Solaris, os.strerror() now always decode the byte string from the current locale encoding, rather than using ASCII/surrogateescape in some cases. - The nis module is now compatible with new libnsl and headers location. - Improve ABCMeta._dump_registry() output readability - glibc has removed Sun RPC. Use replacement libtirpc headers and library in nis module. - Ensure that truncate() preserves the file position (as reported by tell()) after writes longer than the buffer size. - Don’t unsubscribe signals in asyncio UNIX event loop on interpreter shutdown. - The SSL module no longer sends IP addresses in SNI TLS extension on platforms with OpenSSL 1.0.2+ or inet_pton. - urllib.parse.urlsplit() does not convert zone-id (scope) to lower case for scoped IPv6 addresses in hostnames now. - Fix bdist_wininst of distutils for CRT v142: it binary compatible with CRT v140. - A single empty field is now always quoted when written into a CSV file. This allows to distinguish an empty row from a row consisting of a single empty field. - Raise NotImplementedError instead of SystemError on platforms where chmod(..., follow_symlinks=False) is not supported. - The getnode() ip getter now uses ‘ip link’ instead of ‘ip link list’. - Ensure TCP_NODELAY is set on Linux. - The locale.localeconv() function now sets temporarily the LC_CTYPE locale to the LC_NUMERIC locale to decode decimal_point and thousands_sep byte strings if they are non-ASCII or longer than 1 byte, and the LC_NUMERIC locale is different than the LC_CTYPE locale. This temporary change affects other threads. Same change for the str.format() method when formatting a number (int, float, float and subclasses) with the n type (ex: '{:n}'.format(1234)). - Importing native path module (posixpath, ntpath) now works even if the os module still is not imported.
Documentation: - Clarify docs for -O and -OO. Patch by Terry Reedy - Update link to w3c doc for xml default namespaces - Document __getattr__() behavior when property get() method raises AttributeError - Modify RE examples in documentation to use raw strings to prevent DeprecationWarning and add text to REGEX HOWTO to highlight the deprecation - Improve docstrings for pathlib.PurePath subclasses - Explain real behaviour of sys.settrace and sys.setprofile and their C-API counterparts regarding which type of events are received in each function
Tests: - Fix failing test_asyncio on macOS 10.12.2+ due to transport of KqueueSelector loop was not being closed - Fix test_hashlib to not fail if the _md5 module is not built - Fix faulthandler_suppress_crash_report() used to prevent core dump files when testing crashes. getrlimit() returns zero on success - Debian Unstable has disabled TLS 1.0 and 1.1 for SSLv23_METHOD(). Change TLS/SSL protocol of some tests to PROTOCOL_TLS or PROTOCOL_TLSv1_2 to make them pass on Debian
Build: - Fix segfault of the crypt module when libxcrypt is provided instead of libcrypt at the system
Windows: - Fix potential use of uninitialized memory in nt._getfinalpathname - Fix a memory leak in os.chdir() on Windows if the current directory is set to a UNC path - Fixed WindowsConsoleIO.write() for writing empty data - Ensures activate.bat can handle Unicode contents - Improves handling of denormalized executable path when launching Python - Use the correct encoding for ipconfig output in the uuid module - Fix os.readlink() on Windows, which was mistakenly treating the PrintNameOffset field of the reparse data buffer as a number of characters instead of bytes - Create standalone _distutils_findvs module
macOS: - Provide an additional, more modern macOS installer variant that supports macOS 10.9+ systems in 64-bit mode only. Upgrade the supplied third-party libraries to OpenSSL 1.0.2n, XZ 5.2.3, and SQLite 3.22.0. The 10.9+ installer now links with and supplies its own copy of Tcl/Tk 8.6.8.
IDLE: - Set __file__ while running a startup file. Like Python, IDLE optionally runs one startup file in the Shell window before presenting the first interactive input prompt. For IDLE, -s runs a file named in environmental variable IDLESTARTUP or PYTHONSTARTUP; -r file runs file. Python sets __file__ to the startup file name before running the file and unsets it before the first prompt. IDLE now does the same when run normally, without the -n option - Simplify and rename StringTranslatePseudoMapping in pyparse - Change str to code in pyparse - Remove unused code in pyparse module - Add tests for pyparse - Using the system and place-dependent default encoding for open() is a bad idea for IDLE’s system and location-independent files - Add “encoding=utf-8” to open() in IDLE’s test_help_about. GUI test test_file_buttons() only looks at initial ascii-only lines, but failed on systems where open() defaults to ‘ascii’ because readline() internally reads and decodes far enough ahead to encounter a non-ascii character in CREDITS.txt - Update configdialog General tab docstring to add new widgets to the widget list
Tools/Demos: - 2to3 and lib2to3 can now read pickled grammar files using pkgutil.get_data() rather than probing the filesystem. This lets 2to3 and lib2to3 work when run from a zipfile - Fix pygettext not extracting docstrings for functions with type annotated arguments
C API: - Undocumented C API for OrderedDict has been excluded from the limited C API. It was added by mistake and actually never worked in the limited C API
Python 3.6.5 (64-bit) 相關參考資料
Download Python | Python.org
Want to help test development versions of Python? ... Python 2.7.15 May 1, 2018 Download Release Notes; Python 3.6.5 March 28, 2018 Download Release ...
https://www.python.org
Python (64-bit) Download (2021 Latest) for Windows 10, 8, 7
2020年12月8日 — Python 64-bit is a dynamic object-oriented programming language that can be used for many kinds of software development. It offers strong ...
https://www.filehorse.com
Python Journey (1) - 在Windows 10 中 ... - 不自量力のWeithenn
2018年5月17日 — Python Journey (1) - 在Windows 10 中安裝Python 3.6.5 ... 也可以透過開啟「IDLE (Python 3.6 64-bit」進入 Python 互動模式。 圖、透過IDLE ...
https://www.weithenn.org
Python Release Python 3.6.5 | Python.org
2018年3月28日 — It is 64-bit only as Apple is deprecating 32-bit support in future macOS releases. For 3.6.5, the 10.9+ variant is offered as an additional more ...
https://www.python.org
Python Release Python 3.6.5rc1 | Python.org
2018年3月13日 — It is 64-bit only as Apple is deprecating 32-bit support in future macOS releases. For 3.6.5, the 10.9+ variant is offered as an additional more ...
https://www.python.org
Python Release Python 3.6.6 | Python.org
2018年6月27日 — It is 64-bit only as Apple is deprecating 32-bit support in future macOS releases. For 3.6.5+, the 10.9+ variant is offered as an additional more ...
https://www.python.org
Python Release Python 3.6.8 | Python.org
2018年12月24日 — For Python 3.6 releases, we provide two binary installer options for download. The default variant is 64-bit-only and works on macOS 10.9 ( ...
https://www.python.org
Python Releases for Windows | Python.org
Download Windows embeddable package (32-bit); Download Windows embeddable ... Download Windows help file; Download Windows x86-64 embeddable zip file ... Note that Python 3.6.5 cannot be used on Windo...
https://www.python.org
Python安裝教學- Python4U - Medium
2018年5月14日 — 亦可選擇64位元版本或其他作業系統版本下載安裝(如下圖),以windows 64位元版為例,又細分為zip壓縮檔、exe執行檔或web安裝版本(三者檔案 ...
https://medium.com
安裝Python-3.6.5-64bit開發環境- SmartADT - 博客园
2019年8月8日 — 安裝Python-3.6.5-64bit開發環境By 高煥堂請先進入Python官網:https://www.python.org/downloads/windows/。 從這一頁面上,可以瀏覽到.
https://www.cnblogs.com
|