이전 버전입니다. 현재 최신 버전은 3.10.11입니다. Python 3.10 3.10.11 · 출시일:
3.10.2 버전은 3.10 라인에 속하며, 이 라인은 2026년 10월 1일에 지원이 종료되었습니다. 더 이상 보안 수정이 제공되지 않습니다. endoflife.date
설치 파일 3.10.2
| 아키텍처 | 형식 | 설치 범위 | 파일 크기 | 다운로드 | SHA256 |
|---|---|---|---|---|---|
| 64비트 | EXE (WiX Burn) | 현재 사용자 | 28.2 MB | python.org | VirusTotal |
| 64비트 | EXE (WiX Burn) | 모든 사용자 | 28.2 MB | python.org | VirusTotal |
| 32비트 | EXE (WiX Burn) | 현재 사용자 | 27.1 MB | python.org | VirusTotal |
| 32비트 | EXE (WiX Burn) | 모든 사용자 | 27.1 MB | python.org | VirusTotal |
링크와 SHA256은 Windows 패키지 관리자 커뮤니티 매니페스트에서 가져왔습니다. 실행하기 전에 다운로드한 파일의 해시를 비교해 보십시오.
릴리스 노트
Core and Builtins
- bpo-46347: Fix memory leak in PyEval_EvalCodeEx.
- bpo-46289: ASDL declaration of FormattedValue has changed to reflect conversion field is not optional.
- bpo-46237: Fix the line number of tokenizer errors inside f-strings. Patch by Pablo Galindo.
- bpo-46006: Fix a regression when a type method like __init__() is modified in a subinterpreter. Fix a regression in _PyUnicode_EqualToASCIIId() and type update_slot(). Revert the change which made the Unicode dictionary of interned strings compatible with subinterpreters: the internal interned dictionary is shared again by all interpreters. Patch by Victor Stinner.
- bpo-46085: Fix iterator cache mechanism of OrderedDict.
- bpo-46110: Add a maximum recursion check to the PEG parser to avoid stack overflow. Patch by Pablo Galindo
- bpo-46054: Fix parser error when parsing non-utf8 characters in source files. Patch by Pablo Galindo.
- bpo-46042: Improve the location of the caret in SyntaxError exceptions emitted by the symbol table. Patch by Pablo Galindo.
- bpo-46025: Fix a crash in the atexit module involving functions that unregister themselves before raising exceptions. Patch by Pablo Galindo.
- bpo-46009: Restore behavior from 3.9 and earlier when sending non-None to newly started generator. In 3.9 this did not affect the state of the generator. In 3.10.0 and 3.10.1 gen_func().send(0) is equivalent to gen_func().throw(TypeError(...) which exhausts the generator. In 3.10.2 onward, the behavior has been reverted to that of 3.9.
- bpo-46000: Improve compatibility of the curses module with NetBSD curses.
- bpo-46004: Fix the SyntaxError location for errors involving for loops with invalid targets. Patch by Pablo Galindo
- bpo-42918: Fix bug where the built-in compile() function did not always raise a SyntaxError when passed multiple statements in ‘single’ mode. Patch by Weipeng Hong.
Library
- bpo-40479: Fix hashlib usedforsecurity option to work correctly with OpenSSL 3.0.0 in FIPS mode.
- bpo-46070: Fix possible segfault when importing the asyncio module from different sub-interpreters in parallel. Patch by Erlend E. Aasland.
- bpo-46278: Reflect context argument in AbstractEventLoop.call_*() methods. Loop implementations already support it.
- bpo-46239: Improve error message when importing asyncio.windows_events on non-Windows.
- bpo-20369: concurrent.futures.wait() no longer blocks forever when given duplicate Futures. Patch by Kumar Aditya.
- bpo-46105: Honor spec when generating requirement specs with urls and extras (importlib_metadata 4.8.3).
- bpo-26952: argparse raises ValueError with clear message when trying to render usage for an empty mutually-exclusive group. Previously it raised a cryptic IndexError.
- bpo-27718: Fix help for the signal module. Some functions (e.g. signal() and getsignal()) were omitted.
- bpo-46032: The registry() method of functools.singledispatch() functions checks now the first argument or the first parameter annotation and raises a TypeError if it is not supported. Previously unsupported “types” were ignored (e.g. typing.List[int]) or caused an error at calling time (e.g. list[int]).
- bpo-46018: Ensure that math.expm1() does not raise on underflow.
- bpo-45755: typing generic aliases now reveal the class attributes of the original generic class when passed to dir(). This was the behavior up to Python 3.6, but was changed in 3.7-3.9.
- bpo-13236: unittest.TextTestResult and unittest.TextTestRunner flush now the output stream more often.
- bpo-42378: Fixes the issue with log file being overwritten when logging.FileHandler is used in atexit with filemode set to 'w'. Note this will cause the message in atexit not being logged if the log stream is already closed due to shutdown of logging.
Documentation
- bpo-46120: State that | is preferred for readability over Union in the typing docs.
- bpo-46040: Fix removal Python version for @asyncio.coroutine, the correct value is 3.11.
- bpo-19737: Update the documentation for the globals() function.
- bpo-45840: Improve cross-references in the documentation for the data model.
Tests
- bpo-46205: Fix hang in runtest_mp due to race condition
- bpo-46263: Fix test_capi on FreeBSD 14-dev: instruct jemalloc to not fill freed memory with junk byte.
- bpo-46150: Now fakename in test_pathlib.PosixPathTest.test_expanduser is checked to be non-existent.
- bpo-46129: Rewrite asyncio.locks tests with unittest.IsolatedAsyncioTestCase usage.
- bpo-46114: Fix test case for OpenSSL 3.0.1 version. OpenSSL 3.0 uses 0xMNN00PP0L.
Build
- bpo-46263: configure no longer sets MULTIARCH on FreeBSD platforms.
- bpo-46106: Updated OpenSSL to 1.1.1m in Windows builds, macOS installer builds, and CI. Patch by Kumar Aditya.
macOS
- bpo-40477: The Python Launcher app for macOS now properly launches scripts and, if necessary, the Terminal app when running on recent macOS releases.
C API
- bpo-46236: Fix a bug in PyFunction_GetAnnotations() that caused it to return a tuple instead of a dict.https://docs.python.org/release/3.10.2/whatsnew/changelog.html