Python

Python 3.16에서 제거 예정

  • 임포트 시스템:

    • __spec__.loader 를 설정하지 않으면서 모듈에 __loader__ 를 설정하는 방식은 이제 폐지되었습니다. 파이썬 3.16부터는 임포트 시스템이나 표준 라이브러리에서 __loader__ 를 설정하거나 고려하지 않습니다.

    • __spec__.parent 를 설정하지 않으면서 모듈에 __package__ 를 설정하는 방식은 이제 폐지되었습니다. 파이썬 3.16부터는 임포트 시스템이나 표준 라이브러리에서 __package__ 를 고려하지 않습니다. (gh-97879)

  • 내장된 libmpdec 복사본.

  • array:

    • 'u' 형식 코드(wchar_t)는 Python 3.3부터 문서에서, Python 3.13부터는 실행 시(runtime) 사용 중단되었습니다. 유니코드 문자의 경우 대신 'w' 형식 코드(Py_UCS4)를 사용하십시오.

  • asyncio:

    • asyncio.iscoroutinefunction() 은 폐지되었으며 파이썬 3.16에서 제거될 예정입니다. 대신 inspect.iscoroutinefunction() 을 사용하십시오. (Jiahao Li와 Kumar Aditya가 gh-122875 를 통해 기능을 구현하였습니다.)

    • asyncio 정책 시스템은 폐지되었으며 파이썬 3.16에서 제거될 예정입니다. 특히 다음 클래스와 함수들이 폐지되었습니다:

      • asyncio.AbstractEventLoopPolicy

      • asyncio.DefaultEventLoopPolicy

      • asyncio.WindowsSelectorEventLoopPolicy

      • asyncio.WindowsProactorEventLoopPolicy

      • asyncio.get_event_loop_policy()

      • asyncio.set_event_loop_policy()

      원하는 이벤트 루프 구현을 사용하려면 loop_factory 가 포함된 asyncio.run() 또는 asyncio.Runner 를 사용해야 합니다.

      예를 들어, 윈도우에서 asyncio.SelectorEventLoop 을 사용하려면:

      import asyncio
      
      async def main():
          ...
      
      asyncio.run(main(), loop_factory=asyncio.SelectorEventLoop)
      

      (Kumar Aditya가 gh-127949 를 통해 기능을 구현하였습니다.)

  • builtins:

    • 불리언 타입에 대한 비트 반전인 ~True 또는 ~False``는 결과가 직관적이지 않고 놀라운 값(-2`` 및 -1)을 생성하므로 파이썬 3.12부터 폐지되었습니다. 불리언의 논리적 부정은 대신 not x``를 사용하십시오. 기초 정수의 비트 반전이 필요한 드문 경우에는 명시적으로 `int`로 변환(``~int(x))하십시오.

  • functools:

    • 파이썬 3.14부터 functools.reduce() 의 파이썬 구현을 호출할 때 function 또는 sequence 를 키워드 인자로 사용하는 방식이 사용 지원 중단되었습니다.

  • logging:

    • strm 인자를 사용하는 커스텀 로깅 처리자에 대한 지원은 폐지되었으며 파이썬 3.16에서 제거될 예정입니다. 대신 stream 인자를 사용하여 처리기를 정의하십시오. (Mariusz Felisiak가 gh-115032 를 통해 기능을 구현하였습니다.)

  • mimetypes:

    • mimetypes.MimeTypes.add_type() 에서 유효한 확장자는 ‘.’로 시작하거나 비어 있어야 합니다. 점이 없는 확장자는 폐지되었으며 파이썬 3.16에서 ValueError 를 발생시킵니다. (Hugo van Kemenade가 gh-75223 를 통해 기능을 구현하였습니다.)

  • shutil:

    • ExecError 예외는 파이썬 3.14부터 폐지되었습니다. 이는 파이썬 3.4 이후 shutil 의 어떤 함수에서도 사용되지 않았으며, 현재 RuntimeError 의 별칭입니다.

  • symtable:

    • symtable.Class.get_methods() 메서드는 파이썬 3.14부터 사용 지원 중단되었습니다.

  • sys:

    • _enablelegacywindowsfsencoding() 함수는 파이썬 3.13부터 사용 지원 중단되었습니다. 대신 PYTHONLEGACYWINDOWSFSENCODING 환경 변수를 사용하십시오.

  • sysconfig:

    • sysconfig.expand_makefile_vars() 함수는 파이썬 3.14부터 폐지되었습니다. 대신 sysconfig.get_paths`의 ``vars`() 인수를 사용하십시오.

  • tarfile:

    • 문서화되지 않았고 사용되지도 않는 TarInfo.tarfile 어트리뷰트는 Python 3.13부터 폐지되었습니다.