-
터미널 사용? 방법 및 가상환경 구축 + sublime대학 수업/클라우드 2024. 9. 2. 18:02
상위 폴더에서 데이터를 불러오게 된 이유는 Python의 모듈 경로와 작업 디렉토리의 개념에 관련이 있습니다.
1. 작업 디렉토리(Current Working Directory)
- uvicorn 또는 Python에서 스크립트를 실행할 때, 현재 작업 디렉토리(명령어를 실행하는 위치)가 중요한 역할을 합니다.
- 예를 들어, Code notebook 폴더에서 uvicorn 명령어를 실행하면, 이 폴더가 현재 작업 디렉토리가 됩니다. 따라서 Python은 이 위치를 기준으로 모듈이나 파일을 찾게 됩니다.
2. Python 모듈 경로
- Python에서 모듈을 불러올 때(import), 모듈 경로는 현재 작업 디렉토리를 기준으로 상대 경로로 작성됩니다.
- 예를 들어, 만약 Code notebook 폴더에서 uvicorn 명령어를 실행하면서 pythondata.콩지야 조때서.main:app이라고 지정하면, Python은 Code notebook 폴더 내의 pythondata\콩지야 조때서 폴더에 있는 main.py 파일을 찾으려고 합니다.
3. 상위 폴더로부터 실행한 경우
- 만약 Code notebook보다 상위 폴더에서 uvicorn을 실행한 경우, Python은 그 상위 폴더를 기준으로 모듈을 찾으려고 합니다. 그러면 Code notebook 폴더와 그 하위 폴더들 모두 Python에게는 상대 경로가 됩니다.
4. 왜 상위 폴더에서 데이터를 불러왔는지
- 일반적으로, 상위 폴더에서 모듈을 불러오게 되는 상황은 작업 디렉토리가 올바르게 설정되지 않았거나, 명시적으로 uvicorn 명령어에 전체 경로를 지정하지 않았기 때문입니다.
- 이 경우 Python은 현재 작업 디렉토리를 기준으로 모듈을 찾기 때문에, 의도하지 않은 상위 폴더로부터 데이터를 불러올 수 있습니다.
해결 방법:
- 정확한 폴더에서 명령어를 실행하거나, 모듈 경로를 명확히 지정함으로써 상위 폴더에서 데이터를 불러오는 문제를 방지할 수 있습니다.
- 예를 들어, 현재 작업 디렉토리가 Code notebook 폴더라면, 하위 폴더 경로를 정확히 지정해주어야 합니다:
bash코드 복사python -m uvicorn pythondata.콩지야 조때서.main:app --reload
이렇게 하면 Python이 정확한 위치에서 파일을 불러올 수 있습니다.
혹은
다른 폴더에서 실행할 경우:
- 만약 pythondata\콩지야 조때서 폴더로 이동하지 않고 Code notebook 폴더에서 명령어를 실행하려면, 경로를 명시적으로 지정해 줘야 합니다:
bash코드 복사python -m uvicorn "pythondata.콩지야 조때서.main:app" --reload
여기서 pythondata.콩지야 조때서.main은 pythondata\콩지야 조때서 폴더에 있는 main.py 파일을 가리키는 Python 모듈 경로입니다.
이 방법으로 uvicorn이 올바른 경로에서 main.py 파일을 찾아 실행할 수 있도록 설정할 수 있습니다.
가상환경 구축
Python 가상환경(virtual environment)은 프로젝트별로 독립적인 패키지 환경을 유지하기 위해 사용됩니다. 이를 통해 서로 다른 프로젝트가 서로 다른 패키지 버전을 사용할 수 있습니다. 아래에서는 가상환경을 생성하고 활성화하는 방법을 설명하겠습니다.
1. 가상환경 생성하기
가상환경을 생성하려면 venv 모듈을 사용합니다. 가상환경은 일반적으로 프로젝트 폴더 내에 생성됩니다.
- 터미널/명령 프롬프트 열기
- 먼저, 프로젝트 폴더로 이동합니다. 예를 들어, Code notebook 폴더로 이동하려면:
bash코드 복사cd "C:\Users\demon\OneDrive\바탕 화면\Code notebook"
- 먼저, 프로젝트 폴더로 이동합니다. 예를 들어, Code notebook 폴더로 이동하려면:
- 가상환경 생성하기
- venv라는 이름의 가상환경을 생성하려면 다음 명령어를 실행합니다:
bash코드 복사python -m venv venv
- 위 명령어는 Code notebook 폴더 내에 venv라는 이름의 가상환경 폴더를 생성합니다.
- venv라는 이름의 가상환경을 생성하려면 다음 명령어를 실행합니다:
2. 가상환경 활성화하기
가상환경을 생성한 후, 해당 환경을 활성화하여 그 안에서 작업할 수 있습니다. 활성화 방법은 운영체제에 따라 다릅니다.
Windows
- 다음 명령어를 실행하여 가상환경을 활성화합니다:
bash코드 복사.\venv\Scripts\Activate
- 활성화되면, 터미널 프롬프트에 (venv)가 추가됩니다.
macOS/Linux
- macOS나 Linux에서는 다음 명령어를 사용하여 가상환경을 활성화합니다:
bash코드 복사source venv/bin/activate
- 이 역시 활성화되면, 터미널 프롬프트에 (venv)가 표시됩니다.
3. 가상환경 사용
가상환경이 활성화된 상태에서는, 이 환경 내에 설치된 Python 및 패키지들이 사용됩니다. 즉, pip install 명령어로 설치한 패키지들은 이 가상환경에 설치됩니다.
4. 가상환경 비활성화하기
작업이 끝난 후, 가상환경을 비활성화하려면 다음 명령어를 실행합니다:
bash코드 복사deactivate이 명령어를 입력하면 가상환경이 비활성화되고, 다시 기본 Python 환경으로 돌아갑니다.
5. 추가 참고 사항
- 가상환경 삭제: 가상환경을 삭제하려면 단순히 가상환경 폴더(venv)를 삭제하면 됩니다.
- 가상환경 이름: venv 대신 다른 이름을 사용할 수도 있습니다. 예를 들어, myenv라는 이름의 가상환경을 생성하려면 python -m venv myenv 명령어를 사용합니다.
이 과정을 통해 가상환경을 구축하고, 각 프로젝트마다 독립적인 환경을 관리할 수 있습니다.
Sublime Text는 프로그래머와 작가, 텍스트 편집 작업을 하는 사람들이 자주 사용하는 고급 텍스트 에디터입니다. 다음은 Sublime Text에 대한 자세한 설명입니다:
1. 기본 개요
- 개발사: Sublime Text는 Jon Skinner가 개발한 소프트웨어로, Sublime HQ Pty Ltd에서 배포하고 있습니다.
- 플랫폼: Windows, macOS, Linux에서 모두 사용 가능하며, 크로스 플랫폼 지원으로 다양한 운영체제에서 일관된 사용자 경험을 제공합니다.
- 상용 소프트웨어: 무료로 사용할 수 있지만, 상용 라이선스는 유료입니다. 무료 버전도 기능 제한 없이 사용할 수 있지만, 일정한 주기로 라이선스를 구매하라는 메시지가 표시됩니다.
2. 주요 기능
- 빠른 속도와 경량성: Sublime Text는 매우 빠르고 가벼워, 대용량 파일을 다룰 때도 뛰어난 성능을 발휘합니다.
- 멀티플 커서: 여러 위치에 동시에 커서를 배치하여, 다중 편집이 가능합니다. 이 기능은 동일한 변경을 여러 곳에서 동시에 적용할 때 유용합니다.
- 명령 팔레트: Ctrl+Shift+P 단축키를 통해 명령 팔레트를 호출할 수 있으며, 여기서 대부분의 기능을 빠르게 검색하고 실행할 수 있습니다.
- Goto Anything: Ctrl+P를 누르면 파일 이름, 심볼, 줄 번호 등을 즉시 검색하고 이동할 수 있는 Goto Anything 기능을 사용할 수 있습니다.
- Goto Definition: 코드를 분석하여 함수나 변수 정의로 빠르게 이동할 수 있는 기능입니다.
- 분할 편집: 화면을 여러 개의 분할 창으로 나누어 다양한 파일을 동시에 비교하고 편집할 수 있습니다.
- 플러그인 지원: Sublime Text는 다양한 언어와 기능을 확장할 수 있는 강력한 플러그인 시스템을 가지고 있습니다. Python으로 작성된 플러그인들을 사용하여 Sublime Text의 기능을 확장할 수 있습니다.
- 패키지 컨트롤: Sublime Text의 기능을 확장하는 패키지나 플러그인을 설치, 관리하는 데 사용되는 패키지 매니저입니다. 수천 개의 패키지가 있으며, 이를 통해 특정 프로그래밍 언어 지원, 테마 변경, 코드 자동 완성 등 다양한 기능을 추가할 수 있습니다.
- 미니맵: 화면 오른쪽에 코드의 전체 구조를 보여주는 미니맵이 있어, 파일 내에서 빠르게 탐색할 수 있습니다.
- 다양한 테마와 색상 스키마: Sublime Text는 기본적으로 여러 가지 테마와 색상 스키마를 제공하며, 사용자 정의도 가능합니다. 테마를 변경하여 편집기의 외관을 자신에게 맞게 꾸밀 수 있습니다.
3. 사용 사례
- 코드 편집: Sublime Text는 C, C++, Python, JavaScript, HTML, CSS, Ruby 등 다양한 프로그래밍 언어를 지원하며, 자동 완성, 문법 강조, 린터(linter) 등 코딩에 유용한 기능을 갖추고 있습니다.
- 텍스트 파일 편집: 코드가 아닌 일반 텍스트 파일을 편집하는 데도 유용하며, 로그 파일, 설정 파일 등을 다룰 때도 사용됩니다.
- 스크립트 작성: Python, Bash, PowerShell 등의 스크립트를 작성하는 데 적합합니다.
- Markdown 편집: Sublime Text는 Markdown 편집에도 자주 사용되며, 플러그인을 통해 실시간 미리보기 등의 기능을 추가할 수 있습니다.
4. 장점
- 속도: Sublime Text는 대용량 파일이나 복잡한 프로젝트도 빠르게 처리할 수 있는 성능을 자랑합니다.
- 확장성: 강력한 플러그인 생태계와 패키지 컨트롤을 통해 거의 모든 요구사항에 맞게 확장할 수 있습니다.
- 사용자 정의: 키 바인딩, 테마, 메뉴 등을 사용자 필요에 맞게 쉽게 커스터마이즈할 수 있습니다.
- 다중 커서 및 다중 선택: 동일한 작업을 여러 위치에서 동시에 수행할 수 있어, 효율적인 편집이 가능합니다.
5. 단점
- 유료 소프트웨어: 정식 라이선스를 구입해야 하며, 무료로 사용할 수 있지만 정식 구매를 권장하는 팝업이 간헐적으로 나타납니다.
- 커브 높은 학습: 초보자에게는 다양한 기능과 옵션이 다소 복잡하게 느껴질 수 있습니다.
Sublime Text는 코드 편집의 빠른 속도와 유연한 사용자 환경, 그리고 확장 가능성 때문에 많은 개발자들 사이에서 선호되는 텍스트 에디터입니다.