PyCharm 2025.1의 새로운 기능

모두를 위한 단일 PyCharm, 무료 AI 요금제, Junie 공식 릴리스, Cadence 출시, PyCharm Jupyter 개선 사항, Hatch 지원, Data Wrangler 구현을 제공합니다.

릴리스 주요 내용

모두를 위한 단일 PyCharm - Pro를 시작하고 무료로 계속 사용하세요

이제 PyCharm은 강력한 단일 통합 제품이 되었습니다! Jupyter Notebook 지원을 비롯한 핵심 기능이 무료로 제공되며, 추가 기능이 포함된 Pro 구독을 이용할 수 있습니다. 2025.1 릴리스부터 모든 사용자는 1개월 무료 Pro 평가판에 즉시 액세스하여 PyCharm의 모든 고급 기능을 바로 사용할 수 있습니다. 평가판이 만료된 후에는 Pro 구독을 이어갈지, 무료로 핵심 기능만을 사용할지 선택할 수 있습니다. 이 블로그 글에서 변경 사항에 대해 자세히 알아보세요.

Junie - 나만의 코딩 에이전트 Pro

JetBrains의 코딩 에이전트 Junie가 이제 JetBrains AI를 통해 PyCharm에 제공됩니다. Junie는 코드를 계획하고 작성하며 개선하고 테스트를 자동으로 수행하여 개발 경험을 원활하고 효율적이며 즐겁게 만듭니다. Junie는 코드 구조 변경, 테스트 생성, 개선 사항 구현과 같은 번거로운 작업을 처리하여 더 중요한 과제와 혁신에 집중할 수 있도록 도와줍니다.

PyCharm goes AI

JetBrains AI가 크게 업그레이드되어 AI Assistant와 Junie가 단일 구독으로 통합되었습니다. 이번 릴리스에서는 JetBrains AI의 모든 기능이 PyCharm Pro에서 무료로 제공되며, 코드 완성 및 로컬 모델 지원과 같은 일부 기능은 무제한으로, 다른 기능은 크레딧 기반으로 제한적으로 이용할 수 있습니다. 또한 새로운 구독 시스템이 도입되어 필요에 따라 AI Pro 및 AI Ultimate 등급으로 쉽게 확장할 수 있습니다.

Cadence - ML 워크플로를 위한 간편한 클라우드 실행 Pro

이제 복잡한 설정이나 클라우드 전문 지식 없이도 PyCharm을 통해 바로 강력한 클라우드 하드웨어에서 머신 러닝 코드를 몇 분 만에 실행할 수 있습니다. Cadence 플러그인을 통해 ML 워크플로를 간소화하여 확장 가능한 컴퓨팅 리소스를 활용하면서 코드에 집중할 수 있습니다.

Cadence에 대해 자세히 알아보기

Data Wrangler Pro

Python 데이터 전문가들이 간편하게 데이터를 조작하고 고급 분석에 집중할 수 있도록 지원하는 강력한 도구인 Data Wrangler가 구현되었습니다. 데이터를 확인 및 분석하고, 열 통계와 시각화를 탐색하고, 변환을 위한 Python 코드를 자동으로 생성합니다.

반복적인 코드를 작성하지 않고 대화형 UI를 사용하여 필터링, 데이터 정리, 이상치 처리 등과 같은 일반적인 DataFrame 변환 작업을 수행할 수 있습니다. 또한 변경 내역을 추적하고, 편리한 형식으로 데이터를 내보내고, Notebook에 새 셀로 변환을 삽입할 수도 있습니다.

Data Wrangler에 대해 자세히 알아보기.

Notebook의 SQL 셀 Pro

PyCharm 2025.1에 SQL 셀이 도입되었습니다. 이 새로운 셀 유형을 사용하면 데이터베이스, 데이터프레임, 첨부된 CSV 파일을 Jupyter Notebook에서 쿼리하고 쿼리 결과를 pandas DataFrames에 자동으로 저장할 수 있습니다.

Hatch 지원

Python Packaging Authority(PyPA)에서 개발한 현대적이고 확장 가능한 Python 프로젝트 관리 도구인 Hatch에 대한 지원을 새롭게 도입합니다. Hatch는 setuptools 구성을 자동으로 마이그레이션하고, 격리된 환경을 만들고, 빌드를 실행 및 게시할 수 있어 Python 패키지 관리를 더욱 효율적으로 만들어 줍니다.

또한 PyCharm을 사용하면 Hatch에서 관리하는 새 프로젝트를 생성할 수 있습니다. IDE는 로컬 머신이나 원격 소스에서 Hatch 프로젝트를 가져오면 자동으로 인식합니다.

Jupyter notebook

Jupyter Notebook 지원 개선 사항

Jupyter Notebook으로 작업할 때 개발자들이 느끼는 전반적인 사용 경험을 지속적으로 개선하고 있습니다. 이번 릴리스에서는 다음과 같은 기능을 도입했습니다.

  • 기존 uv 지원을 기반으로, 이제 uv 인터프리터를 사용하여 Jupyter 서버를 실행하는 기능 제공.
  • 여백의 바를 사용하여 Jupyter 셀을 직접 드래그 앤 드롭으로 재배치하는 기능.
  • 커밋하기 전에 셀 실행 결과를 자동으로 지우는 Commit without outputs(출력 없이 커밋) 옵션 제공. 해당 옵션은 톱니바퀴 아이콘을 클릭하면 나타나는 메뉴에서 사용 가능.
  • Notebook 배경, 코드 셀, 선택한 줄, 셀 테두리의 색상에 대해 사용자 지정 기능 제공.
  • 선택한 셀 유형에 맞는 특정 작업을 제공하는 셀별 관리 도구 모음. Pro
  • Notebook의 Structure(구조) 보기에서 셀의 Crashed(실행 실패)Queued(대기 중) 실행 상태가 새롭게 표시.
  • Markdown 셀에서 텍스트를 선택하면 표시되는 플로팅 서식 지정 도구 모음과, 빈 Markdown 셀에 대한 더욱 깔끔한 시각적 표시 제공.
  • 메인 도구 모음에 Shut down Kernel(커널 종료) 버튼 추가.

Jupyter 서버 구성 개선 Pro

Jupyter 서버 구성 설정의 단순성과 투명성을 개선했습니다. 이제 여러 개의 관리형 또는 원격 서버 구성을 추가하고 이들 간에 쉽게 전환할 수 있습니다.

기타 개선 사항은 다음과 같습니다.

  • 프록시를 통해 원격 서버에 연결할 수 있도록 지원.
  • AWS SageMaker 원격 연결에 대한 새로운 지원.
  • 원격 Jupyter 서버를 위한 파일 시스템 개선.
  • Kaggle의 Jupyter 서버에서 Notebook 실행 가능.

Jupyter 디버거 개선 사항

  • Run to caret(캐럿 위치까지 실행) 기능.
  • 한 줄씩 Jupyter 셀을 디버그. 중단점이 아직 설정되어 있지 않은 경우, PyCharm이 자동으로 중단점을 Jupyter 셀의 첫 번째 줄에 배치.
  • 여러 가지 문제 해결.
  • 원격 Jupyter 인스턴스에 대한 디버그 및 Variables(변수) 뷰 지원. Pro

데이터 과학

Python으로 임베딩된 SQL 코드의 서식 재지정 Pro

2025.1 버전에서는 지정된 코드 스타일에 따라 Python으로 임베딩된 SQL 코드의 서식을 다시 지정할 수 있습니다. 이렇게 하면 Python 스크립트 내에서 SQL로 작업 시 일관성과 가독성이 보장됩니다.

Data View(데이터 뷰) 탭을 여는 빠른 옵션 Pro

이제 Data View(데이터 뷰) 도구 창에서 기존 탭 옆에 있는 + 버튼을 사용해 새 탭을 빠르게 만들 수 있습니다. 탭이 추가되면 변수 이름이나 표현식을 입력하여 NumPy 배열, pandas DataFrame 및 기타 데이터 유형을 평가할 수 있어 편리합니다.

NumPy 배열과 텐서를 이미지로 확인

이미지를 조작하는 애플리케이션을 디버그할 때 View as Image(이미지로 보기) 액션을 사용하면 코드를 추가하지 않고도 디버거에서 이미지를 볼 수 있습니다. 이 액션은 NumPy 배열뿐 아니라 PyTorch, TensorFlow, Matplotlib, Seaborn, OpenCV, Pillow, ImageIO, scikit-image 라이브러리에서도 사용할 수 있습니다. 사용하려면 디버그 모드에서 데이터 변수를 마우스 오른쪽 버튼으로 클릭하고 View as Image를 선택하면 됩니다.

데이터베이스 도구

MySQL 및 MariaDB에 대한 수준별 인트로스펙션 Pro

인트로스펙션 성능은 계속해서 향상되고 있습니다. 2025.1 버전부터는 MySQL과 MariaDB에 다양한 인트로스펙션 수준이 적용되며, 데이터베이스 크기에 따라 로드되는 메타데이터의 양이 자동으로 조정됩니다. 즉, 데이터베이스가 큰 경우에는 모든 메타데이터를 로드하지 않습니다. 이에 따라 인트로스펙션 시간이 크게 단축되어 새로 연결된 데이터 소스로 바로 작업을 시작할 수 있습니다. 인트로스펙션 수준과 사용자 환경에 맞게 조정하는 방법에 대해 자세히 알아보려면 이 페이지를 참조하세요.

SQLAlchemy 객체 관계형 매퍼 지원

이 릴리스에서는 PyCharm과 SQLAlchemy의 통합이 향상되어 데이터베이스 객체 타입이 자동으로 인식됩니다. 이 개선으로 데이터베이스 열 및 쿼리 결과에 대한 자동 완성이 정확해져, ORM 기반 프로젝트의 작업 경험이 크게 향상됩니다.

Django Pro

request.user에 타입 힌트 지원

이제 PyCharm은 Django 설정 파일에 지정된 경우 AUTH_USER_MODEL을 기반으로 request.user에 올바른 타입 힌트를 자동으로 적용하여 사용자 지정 사용자 모델에 대한 코드 완성 및 타입 검사를 개선합니다.

Django Ninja 프레임워크에 경로 선언 지원

Django Ninja 프레임워크를 사용하여 Django 프로젝트에서 엔드포인트를 선언하는 옵션이 도입되었습니다. 이를 통해 PyCharm의 엔드포인트 탐지가 모범 사례에 맞게 확장되고 백엔드 및 풀스택 개발자가 PyCharm의 Endpoints(엔드포인트) 도구 창을 통해 엔드포인트를 직접 관리할 수 있습니다.

AI Assistant

채팅에서 LLM 선택지 확장

채팅에서 선택할 수 있는 AI 모델이 늘어났습니다! 이제 다음을 포함한 최신 및 고급 언어 모델 중에서 선택하여 AI 경험을 완벽하게 제어할 수 있습니다.

  • Claude 3.7 Sonnet
  • OpenAI GPT-4.1(곧 지원 예정)
  • Gemini 2.0 Flash

여기서 끝이 아닙니다! JetBrains는 최신 AI 기술에 지속적으로 접근할 수 있도록 다양한 AI 모델을 꾸준히 통합해 나가고 있습니다.

오프라인 모드: 로컬 모델로 작업

AI Assistant를 통해 유연하게 오프라인에서 로컬 모델로 작업하거나 클라우드 기반 AI 프로세스 처리를 활용할 수 있습니다. 새로운 오프라인 모드를 사용하면 이제 인터넷 연결 없이 작업하면서 AI 기반 코딩 지원의 이점을 누릴 수 있습니다. Ollama 또는 LM Studio를 통해 채팅, 코드 생성, 커밋 메시지 작성, 인라인 문서화 등 다양한 작업에 로컬 모델을 사용해 보세요.

편집 모드에서 다중 파일 변경

다중 파일 편집이 그 어느 때보다 쉬워졌습니다! 이제 AI Assistant가 채팅에서 다중 파일 편집을 지원하여 프로젝트 전반의 변경 사항을 제안하고 검색 증강 생성(RAG)을 활용하여 가장 관련성이 높은 파일을 찾습니다. 반복적인 작업은 줄이고 한 번의 상호 작용으로 여러 파일에 수정 사항을 적용하세요.

Jupyter 테이블에서 AI로 빠른 차트 생성 Pro

이제 AI Quick Charts(AI 빠른 차트)를 클릭해 Jupyter Notebook 테이블의 차트 미리보기를 생성할 수 있습니다. AI Assistant는 DataFrame 메타데이터를 활용해 시각화를 제안하고, 결과 차트를 테이블의 위젯에 바로 임베딩하여 즉각적인 미리보기를 제공합니다. 생성된 차트를 클릭하면 Notebook에 관련 코드를 삽입할 수 있습니다.

Jupyter Notebook의 코드 생성 개선 Pro

AI로 생성된 코드는 이제 Markdown 셀을 포함하여 여러 셀로 논리적으로 나뉘며, Notebook 워크플로에 더 자연스럽게 부합하도록 구성됩니다.

AI Assistant 컨텍스트의 특정 파일 제외 옵션

.aiignore 파일을 구성하여 AI Assistant가 볼 수 있는 항목을 더 강력하게 제어할 수 있습니다. 이를 통해 특정 파일이나 폴더에 JetBrains AI가 접근하지 못하도록 차단하여 민감한 정보가 처리되지 않도록 보장할 수 있습니다.

채팅에서 웹 검색

새롭게 도입된 /web 명령어를 이용하면 AI Assistant가 채팅 창에서 바로 웹에서 문서, 문제 해결 팁, 최신 기술 자료를 가져올 수 있습니다. 더 이상 탭을 전환하거나 수동으로 검색할 필요가 없습니다!

채팅에서 스니펫 적용

이제 AI 채팅에서 코드 스니펫이 제안되면 수동으로 복사하여 붙여 넣을 필요 없이 Apply(적용) 버튼을 사용하여 새로 생성된 코드를 삽입할 최적의 위치를 자동으로 찾을 수 있습니다. 이 기능을 통해 워크플로가 크게 간소화됩니다.

더 스마트해진 AI 컨텍스트 인식

이제 AI Assistant는 고급 RAG를 사용해 전체 프로젝트를 더 잘 이해하여 관련성이 가장 높은 파일, 메서드, 클래스를 표시합니다. 또한 컨텍스트에는 최근에 액세스한 파일도 포함되므로 상호 작용이 워크플로에 더 긴밀히 연결됩니다. 이제 컨텍스트로 전송된 첨부 파일을 추가하거나 제거할 수도 있으므로 AI의 컨텍스트를 완벽하게 제어할 수 있습니다.

사용자 경험

새로운 터미널 아키텍처 베타

2025.1 릴리스에서는 새롭게 개편된 터미널 아키텍처가 베타 버전으로 제공됩니다. 이제 터미널이 안정적이고 표준을 준수하는 코어에서 실행되며 IDE 에디터를 사용하여 UI를 렌더링합니다. 이러한 변경을 통해 로컬이든 원격이든 다양한 플랫폼에서 호환성과 성능을 유지하면서 새로운 기능이 도입됩니다. 이 블로그 글에서 계획과 진행 상황에 대해 자세히 알아보세요.

Windows의 기본 OS 파일 대화상자 사용

이제 PyCharm은 기본적으로 IDE의 사용자 지정 구현 대신 기본 Windows 파일 대화상자를 사용합니다. 따라서 파일을 열거나 저장할 때 더 익숙한 환경을 이용할 수 있습니다. 이전 작동 방식을 선호하는 경우 Advanced Settings(고급 설정) | User Interface(사용자 인터페이스)에서 복원할 수 있습니다.

Project(프로젝트) 도구 창에서 새 파일 생성

이제 새 파일을 만들기가 더 편리해졌습니다. + 아이콘을 눌러 Project(프로젝트) 창 툴바에서 바로 사용 가능한 파일 템플릿 목록 팝업에 액세스할 수 있으며, 검색창에서 필요한 파일 형식을 빠르게 찾을 수 있습니다.

자동 플러그인 업데이트

PyCharm이 백그라운드에서 플러그인을 자동으로 업데이트하도록 설정할 수 있습니다. 이렇게 설정하면 다음 번 IDE를 재시작할 때 추가 알림 없이 사용 가능한 업데이트를 다운로드 및 적용할 수 있습니다. 업데이트 대화상자에서 Enable auto-update(자동 업데이트 사용) 체크박스를 클릭하거나 File(파일) | Settings(설정) | Appearance & Behavior(모양 및 동작) | System Settings(시스템 설정) | Updates(업데이트)에서 자동 업데이트를 설정할 수 있습니다.

Kafka 레코드를 JSON, CSV 및 TSV로 바로 내보내는 옵션 Pro

이제 PyCharm에서 Kafka 레코드를 JSON, CSV 및 TSV 파일로 바로 내보낼 수 있으므로 스트리밍 데이터를 더 쉽게 분석하고 공유할 수 있습니다. IDE는 주제, 타임스탬프, 키, 값, 파티션, 오프셋을 포함한 전체 레코드 세부 정보를 많이 사용되는 형식으로 저장할 수 있습니다. 이러한 업데이트를 통해 Kafka 레코드를 내보내면 데이터의 접근성과 실용성이 확보되어 문제를 더 빠르게 진단하고, 데이터 무결성을 확인하고, 고급 분석을 활성화하고, 협업을 간소화할 수 있습니다. 이와 같은 개선으로 문제 해결 시간이 단축되고 데이터 투명성이 향상되므로 더욱 효율적이고 효과적인 Kafka 경험을 제공할 수 있습니다.

생성된 HTTP 요청에 대한 향상된 사용자 경험 Pro

이제 HTTP 클라이언트는 코드에서 생성된 HTTP 요청을 에디터의 오른쪽 분할 창에서 열 수 있습니다. 이에 따라 별도의 탭에서 요청을 검토할 필요가 없어졌습니다.

버전 관리 시스템

Diff 뷰의 커밋 세부 정보

이제 diff 뷰에서 커밋 세부 정보를 바로 확인할 수 있습니다. diff 대화상자에는 커밋 메시지, 작성자, 날짜 및 시간, 전체 커밋 해시가 표시되어 파일의 기록을 더 명확하게 볼 수 있고 수정 사항을 더 빨리 이해할 수 있습니다.

커밋 전 검사를 위한 도구 실행 옵션

이제 어떤 도구를 실행하든 검사 및 서식 지정과 함께 커밋 전 검사를 수행할 수 있습니다. 사용자 지정 검사는 Run Configuration(실행 구성) 대화상자에서 실행 구성으로 구성할 수 있습니다. 이를 통해 잠재적인 문제를 조기에 발견하고 코드가 커밋되기 전에 프로젝트 표준을 충족하는지 확인할 수 있습니다.

Git 커밋 후크 실행에 대한 비활성화 옵션

새로운 옵션을 사용하면 IDE에 Git 커밋 후크를 실행하지 않도록 지시할 수 있습니다. 이전에는 커밋 작업 중 Git 후크가 자동으로 실행되었지만 이러한 기능이 모든 경우에 바람직한 것은 아닙니다. 이번 업데이트를 통해 해당 후크를 건너뛰도록 IDE를 구성할 수 있으므로 커밋 프로세스를 보다 유연하게 제어할 수 있습니다.

기타 기능

PyPackage: 콘솔에서 누락된 패키지 설치

필수 패키지를 설치하지 않고 코드를 실행하려고 하면 이제 IDE에서 Python 콘솔, Run(실행) 도구 창 또는 Debug(디버그) 도구 창에서 직접 설치를 제안하므로 워크플로가 더 원활해집니다.

FastAPI 엔드포인트: mount 지원 Pro

Endpoints(엔드포인트) 도구 창은 이제 Django 및 Flask 앱을 포함하여 FastAPI에서 마운트된 앱을 지원합니다. 마운트된 경로가 탐지되어 Endpoints(엔드포인트) 도구 창에 적절한 경로 접두어와 함께 표시되므로 다중 앱 프로젝트를 더 쉽게 관리할 수 있습니다.

버그 수정

  • [PY-54850] Package requirement is not satisfied when the package name differs from what appears in the requirements file with respect to whether dots, hyphens, or underscores are used.
  • [PY-56935] Functions modified with ParamSpec incorrectly report missing arguments with default values.
  • [PY-76059] An erroneous Incorrect Type warning is displayed with asdict and dataclass.
  • [PY-34394] An Unresolved attribute reference error occurs with AUTH_USER_MODEL.
  • [PY-73050] The return type of open("file.txt", "r") should be inferred as TextIOWrapper instead of TextIO.
  • [PY-75788] Django admin does not detect model classes through admin.site.register, only from the decorator @admin.register.
  • [PY-65326] The Django Structure tool window doesn't display models from subpackages when wildcard import is used.