Python | JS | Java

심채원·2025년 2월 13일
0
post-thumbnail

개요

오늘은 JS, Java, Python 개발을 한 신입 개발자 (that's me)가 Java 환경 설정을 하다가 문득 세 개의 환경 관리 방법을 한 번 정리해보면 좋겠다! 라고 생각이 들어 작성해 본다.
각각의 환경을 사용해본 결과 가장 큰 특징은 사용 범위였다.

Python JS Java 환경 관리 차이

PYTHON의 패키지 관리 도구인 Conda의 경우, 환경 관리를 커널 별로 실행한다. 즉, 한 터미널 세션에서 사용할 환경을 선택하면 pwd에 상관 없이 해당 가상환경에 설치한 라이브러리를 모두 사용할 수 있다. PYTHON 뿐만 아니라 R이나 C, C++ 등의 패키지도 관리가 가능하다.

JS의 패키지 관리 도구인 NPM의 경우에는 환경관리를 프로젝트 폴더 별로 진행한다. 물론 라이브러리를 전역적으로 사용할 수 있도록 설치하는 것도 가능하나, 각각의 프로젝트 별로 라이브러리를 node_modules라는 폴더 내에 설치한다. 추가적으로 nvm을 사용하면, node.js 버전까지 관리할 수 있어, 여러 프로젝트를 진행하게 된다면 선택적으로 해당 프로젝트에 맞는 node 버전을 선택하여 사용할 수 있다.

JAVA의 패키지 관리 도구인 Gradle의 경우에는 환경관리를 프로젝트 폴더 별로 진행한다. Java나 Kotlin, Android 프로젝트 빌드 및 의존성을 관리한다. 의존성들이 해당 프로젝트 루트 폴더 내에 설치되는 것은 아니나, Gradle 설정에 따라 필요한 의존성을 개별적으로 사용할 수 있도록 한다.

Python JS Java 환경 관리 차이 정리

구분Python (Conda)Javascript (npm)Java (Gradle, Maven)
환경 관리 단위터미널 단위 (커널)프로젝트 폴더 단위프로젝트 폴더 단위
설정방식conda create -n myenv로 환경 생성 후 사용프로젝트 폴더에서 npm init 또는 설정 파일인 package.json으로 관리build.gradle로 관리
의존성 사용 방식Conda 환경에 설치된 패키지 전체 공유node_modules에 프로젝트 별 패키지 설치실제 의존성 설치 위치는 프로젝트 폴더 내는 아니지만, Gradle이 개별 프로젝트 별로 이를 관리
profile
인생의 디테일을 추가하는 심채원

0개의 댓글