# 1. WSL2 설치
WSL2를 사용하려면 먼저 Windows에서 이를 활성화하고 Linux 배포판을 설치해야 합니다.
- Windows 기능 켜기/끄기를 열고, Linux용 Windows 하위 시스템 및 가상 머신 플랫폼을 활성화합니다.
- PowerShell을 관리자 권한으로 열고 다음 명령어를 입력하여 WSL2로 설정합니다:
```
wsl --set-default-version 2
```
[WSL을 사용하여 Windows에 Linux를 설치하는 방법](https://learn.microsoft.com/ko-kr/windows/wsl/install)
- Microsoft Store에서 원하는 Linux 배포판(예: Ubuntu)을 설치합니다.
[WSL의 기본 명령](https://learn.microsoft.com/ko-kr/windows/wsl/basic-commands)
# 2. VSCode 설치 및 환경 설정
- Visual Studio Code를 설치합니다.
[Visual Studio Code on Windows](https://code.visualstudio.com/docs/setup/windows)
- VSCode에서 Remote - WSL 확장을 설치합니다. 이 확장은 WSL 환경에서 직접 코드를 작성하고 실행할 수 있게 해줍니다.
[Linux용 Windows 하위 시스템에서 Visual Studio Code 사용 시작](https://learn.microsoft.com/ko-kr/windows/wsl/tutorials/wsl-vscode)
[Visual Studio Code 확장 사용](https://learn.microsoft.com/ko-kr/power-pages/configure/vs-code-extension)
# 3. Linux 환경 설정
- 설치한 Linux 배포판을 시작합니다.
VSCode에서 Remote - WSL을 설정한 경우 ```ctl-j```를 눌러 WSL의 터미널을 열고, 그 환경에서 작업을 진행 합니다. 아닌 경우 wsl 명령을 입력해 직접 터미널을 열 수 있습니다.
[Developing in WSL](https://code.visualstudio.com/docs/remote/wsl)
- 기본적인 도구들을 설치합니다. sudo 암호틑 WSL 실치 시 등록한 암호를 입력 합니다.
```
sudo apt update && sudo apt upgrade
sudo apt install python3-pip python3-venv git -y
```
# 4. Poetry 설치
Poetry는 Python 프로젝트의 의존성 관리와 패키지 작성을 쉽게 도와주는 도구입니다.
- Poetry 공식 설치 스크립트를 사용하여 설치합니다:
```
curl -sSL https://install.python-poetry.org | python3 -
```
- 설치 후, shell 설정 파일(.bashrc, .zshrc 등)에 PATH 추가:
```
export PATH="$HOME/.local/bin:$PATH"
```
- 변경사항을 적용하기 위해 쉘을 재시작하거나 source 명령어를 사용합니다:
```
source ~/.bashrc
```
- 프로젝트 별 가상환경을 config에 설정합니다.
```
poetry config virtualenvs.in-project true
```
[Basic usage](https://github.com/python-poetry/poetry/blob/main/docs/basic-usage.md)
- PYPI token 설정
token은 Didim365 담당자에 수령합니다.
```
poetry config pypi-token.gitlab <your-pypi-token>
```
# 5. 프로젝트 설정
- 새 프로젝트 폴더를 만들고 해당 폴더로 이동합니다:
```
mkdir mylangchainapp && cd mylangchainapp
```
- Poetry를 사용하여 새 Python 프로젝트를 초기화합니다:
```
poetry init
```
- pyproject.toml 파일을 수정 합니다.
```
...
[tool.poetry.dependencies]
python = "^3.11"
langchain = "^0.1.13"
pyhcx = ">=0.9.5"
langchain-hcxai = ">=0.1.6"
[[tool.poetry.source]]
name = "gitlab"
url = "https://gitlab.com/api/v4/projects/60349968/packages/pypi/simple"
priority = "supplemental"
...
```
- 그 외의 필요한 패키지들을 Poetry를 통해 설치합니다.
psycopg2-binary 패키지를 예로 들면:
```
poetry add psycopg2-binary
```
# 6. VSCode에서 프로젝트 작업
- VSCode를 열고, Ctrl+Shift+P를 눌러 Command Palette를 엽니다.
- "Remote-WSL: New Window"를 선택하여 WSL에서 새 창을 엽니다.
- 파일 > 폴더 열기...를 선택하고, 프로젝트 디렉토리를 선택합니다.
- VSCode에서 python 확장을 설치합니다. Python, Pylance, Python Debugger
- VSCode의 터미널에서 Poetry 환경을 활성화합니다:
```
crl-shift-p "Python Interpreter" poetry환경 선택
```
[VSCode: Adding Poetry Python Interpreter](https://www.markhneedham.com/blog/2023/07/24/vscode-poetry-python-interpreter/)
## 이제 WSL2, VSCode, Poetry를 사용한 LangChain 응용 프로그램 개발 환경이 준비되었습니다. 프로젝트 개발을 시작할 수 있습니다!
Raw data
{
"_id": null,
"home_page": "https://gitlab.com/didim365-ai/naver-ai",
"name": "langchain-hcxai",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.8.1",
"maintainer_email": null,
"keywords": null,
"author": "HCX Support",
"author_email": "ai@didim365.co.kr",
"download_url": "https://files.pythonhosted.org/packages/8e/f8/fe69380e3f8d50f898cd15f0a393396414ff5553e5fc48729e5f978bf5f7/langchain_hcxai-0.1.11.tar.gz",
"platform": null,
"description": "# 1. WSL2 \uc124\uce58\n\nWSL2\ub97c \uc0ac\uc6a9\ud558\ub824\uba74 \uba3c\uc800 Windows\uc5d0\uc11c \uc774\ub97c \ud65c\uc131\ud654\ud558\uace0 Linux \ubc30\ud3ec\ud310\uc744 \uc124\uce58\ud574\uc57c \ud569\ub2c8\ub2e4.\n\n- Windows \uae30\ub2a5 \ucf1c\uae30/\ub044\uae30\ub97c \uc5f4\uace0, Linux\uc6a9 Windows \ud558\uc704 \uc2dc\uc2a4\ud15c \ubc0f \uac00\uc0c1 \uba38\uc2e0 \ud50c\ub7ab\ud3fc\uc744 \ud65c\uc131\ud654\ud569\ub2c8\ub2e4.\n- PowerShell\uc744 \uad00\ub9ac\uc790 \uad8c\ud55c\uc73c\ub85c \uc5f4\uace0 \ub2e4\uc74c \uba85\ub839\uc5b4\ub97c \uc785\ub825\ud558\uc5ec WSL2\ub85c \uc124\uc815\ud569\ub2c8\ub2e4:\n ```\n wsl --set-default-version 2\n ```\n [WSL\uc744 \uc0ac\uc6a9\ud558\uc5ec Windows\uc5d0 Linux\ub97c \uc124\uce58\ud558\ub294 \ubc29\ubc95](https://learn.microsoft.com/ko-kr/windows/wsl/install)\n\n- Microsoft Store\uc5d0\uc11c \uc6d0\ud558\ub294 Linux \ubc30\ud3ec\ud310(\uc608: Ubuntu)\uc744 \uc124\uce58\ud569\ub2c8\ub2e4. \n [WSL\uc758 \uae30\ubcf8 \uba85\ub839](https://learn.microsoft.com/ko-kr/windows/wsl/basic-commands)\n\n# 2. VSCode \uc124\uce58 \ubc0f \ud658\uacbd \uc124\uc815\n\n- Visual Studio Code\ub97c \uc124\uce58\ud569\ub2c8\ub2e4. \n [Visual Studio Code on Windows](https://code.visualstudio.com/docs/setup/windows)\n- VSCode\uc5d0\uc11c Remote - WSL \ud655\uc7a5\uc744 \uc124\uce58\ud569\ub2c8\ub2e4. \uc774 \ud655\uc7a5\uc740 WSL \ud658\uacbd\uc5d0\uc11c \uc9c1\uc811 \ucf54\ub4dc\ub97c \uc791\uc131\ud558\uace0 \uc2e4\ud589\ud560 \uc218 \uc788\uac8c \ud574\uc90d\ub2c8\ub2e4. \n [Linux\uc6a9 Windows \ud558\uc704 \uc2dc\uc2a4\ud15c\uc5d0\uc11c Visual Studio Code \uc0ac\uc6a9 \uc2dc\uc791](https://learn.microsoft.com/ko-kr/windows/wsl/tutorials/wsl-vscode) \n [Visual Studio Code \ud655\uc7a5 \uc0ac\uc6a9](https://learn.microsoft.com/ko-kr/power-pages/configure/vs-code-extension)\n\n# 3. Linux \ud658\uacbd \uc124\uc815\n\n- \uc124\uce58\ud55c Linux \ubc30\ud3ec\ud310\uc744 \uc2dc\uc791\ud569\ub2c8\ub2e4. \nVSCode\uc5d0\uc11c Remote - WSL\uc744 \uc124\uc815\ud55c \uacbd\uc6b0 ```ctl-j```\ub97c \ub20c\ub7ec WSL\uc758 \ud130\ubbf8\ub110\uc744 \uc5f4\uace0, \uadf8 \ud658\uacbd\uc5d0\uc11c \uc791\uc5c5\uc744 \uc9c4\ud589 \ud569\ub2c8\ub2e4. \uc544\ub2cc \uacbd\uc6b0 wsl \uba85\ub839\uc744 \uc785\ub825\ud574 \uc9c1\uc811 \ud130\ubbf8\ub110\uc744 \uc5f4 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \n [Developing in WSL](https://code.visualstudio.com/docs/remote/wsl)\n- \uae30\ubcf8\uc801\uc778 \ub3c4\uad6c\ub4e4\uc744 \uc124\uce58\ud569\ub2c8\ub2e4. sudo \uc554\ud638\ud2d1 WSL \uc2e4\uce58 \uc2dc \ub4f1\ub85d\ud55c \uc554\ud638\ub97c \uc785\ub825 \ud569\ub2c8\ub2e4.\n ```\n sudo apt update && sudo apt upgrade\n sudo apt install python3-pip python3-venv git -y\n ```\n\n# 4. Poetry \uc124\uce58\n\nPoetry\ub294 Python \ud504\ub85c\uc81d\ud2b8\uc758 \uc758\uc874\uc131 \uad00\ub9ac\uc640 \ud328\ud0a4\uc9c0 \uc791\uc131\uc744 \uc27d\uac8c \ub3c4\uc640\uc8fc\ub294 \ub3c4\uad6c\uc785\ub2c8\ub2e4.\n\n- Poetry \uacf5\uc2dd \uc124\uce58 \uc2a4\ud06c\ub9bd\ud2b8\ub97c \uc0ac\uc6a9\ud558\uc5ec \uc124\uce58\ud569\ub2c8\ub2e4:\n ```\n curl -sSL https://install.python-poetry.org | python3 -\n ```\n- \uc124\uce58 \ud6c4, shell \uc124\uc815 \ud30c\uc77c(.bashrc, .zshrc \ub4f1)\uc5d0 PATH \ucd94\uac00:\n ```\n export PATH=\"$HOME/.local/bin:$PATH\"\n ```\n- \ubcc0\uacbd\uc0ac\ud56d\uc744 \uc801\uc6a9\ud558\uae30 \uc704\ud574 \uc258\uc744 \uc7ac\uc2dc\uc791\ud558\uac70\ub098 source \uba85\ub839\uc5b4\ub97c \uc0ac\uc6a9\ud569\ub2c8\ub2e4:\n ```\n source ~/.bashrc\n ```\n- \ud504\ub85c\uc81d\ud2b8 \ubcc4 \uac00\uc0c1\ud658\uacbd\uc744 config\uc5d0 \uc124\uc815\ud569\ub2c8\ub2e4.\n ```\n poetry config virtualenvs.in-project true\n ```\n [Basic usage](https://github.com/python-poetry/poetry/blob/main/docs/basic-usage.md)\n- PYPI token \uc124\uc815 \n token\uc740 Didim365 \ub2f4\ub2f9\uc790\uc5d0 \uc218\ub839\ud569\ub2c8\ub2e4. \n ```\n poetry config pypi-token.gitlab <your-pypi-token>\n ```\n\n# 5. \ud504\ub85c\uc81d\ud2b8 \uc124\uc815\n\n- \uc0c8 \ud504\ub85c\uc81d\ud2b8 \ud3f4\ub354\ub97c \ub9cc\ub4e4\uace0 \ud574\ub2f9 \ud3f4\ub354\ub85c \uc774\ub3d9\ud569\ub2c8\ub2e4:\n ```\n mkdir mylangchainapp && cd mylangchainapp\n ```\n- Poetry\ub97c \uc0ac\uc6a9\ud558\uc5ec \uc0c8 Python \ud504\ub85c\uc81d\ud2b8\ub97c \ucd08\uae30\ud654\ud569\ub2c8\ub2e4:\n ```\n poetry init\n ```\n- pyproject.toml \ud30c\uc77c\uc744 \uc218\uc815 \ud569\ub2c8\ub2e4. \n ```\n ...\n [tool.poetry.dependencies]\n python = \"^3.11\"\n langchain = \"^0.1.13\"\n pyhcx = \">=0.9.5\"\n langchain-hcxai = \">=0.1.6\"\n\n [[tool.poetry.source]]\n name = \"gitlab\"\n url = \"https://gitlab.com/api/v4/projects/60349968/packages/pypi/simple\"\n priority = \"supplemental\"\n ...\n ``` \n\n- \uadf8 \uc678\uc758 \ud544\uc694\ud55c \ud328\ud0a4\uc9c0\ub4e4\uc744 Poetry\ub97c \ud1b5\ud574 \uc124\uce58\ud569\ub2c8\ub2e4.\npsycopg2-binary \ud328\ud0a4\uc9c0\ub97c \uc608\ub85c \ub4e4\uba74:\n ```\n poetry add psycopg2-binary\n ```\n \n# 6. VSCode\uc5d0\uc11c \ud504\ub85c\uc81d\ud2b8 \uc791\uc5c5\n\n- VSCode\ub97c \uc5f4\uace0, Ctrl+Shift+P\ub97c \ub20c\ub7ec Command Palette\ub97c \uc5fd\ub2c8\ub2e4.\n- \"Remote-WSL: New Window\"\ub97c \uc120\ud0dd\ud558\uc5ec WSL\uc5d0\uc11c \uc0c8 \ucc3d\uc744 \uc5fd\ub2c8\ub2e4.\n- \ud30c\uc77c > \ud3f4\ub354 \uc5f4\uae30...\ub97c \uc120\ud0dd\ud558\uace0, \ud504\ub85c\uc81d\ud2b8 \ub514\ub809\ud1a0\ub9ac\ub97c \uc120\ud0dd\ud569\ub2c8\ub2e4.\n- VSCode\uc5d0\uc11c python \ud655\uc7a5\uc744 \uc124\uce58\ud569\ub2c8\ub2e4. Python, Pylance, Python Debugger\n- VSCode\uc758 \ud130\ubbf8\ub110\uc5d0\uc11c Poetry \ud658\uacbd\uc744 \ud65c\uc131\ud654\ud569\ub2c8\ub2e4:\n ```\n crl-shift-p \"Python Interpreter\" poetry\ud658\uacbd \uc120\ud0dd\n ```\n [VSCode: Adding Poetry Python Interpreter](https://www.markhneedham.com/blog/2023/07/24/vscode-poetry-python-interpreter/)\n \n## \uc774\uc81c WSL2, VSCode, Poetry\ub97c \uc0ac\uc6a9\ud55c LangChain \uc751\uc6a9 \ud504\ub85c\uadf8\ub7a8 \uac1c\ubc1c \ud658\uacbd\uc774 \uc900\ube44\ub418\uc5c8\uc2b5\ub2c8\ub2e4. \ud504\ub85c\uc81d\ud2b8 \uac1c\ubc1c\uc744 \uc2dc\uc791\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4!\n",
"bugtrack_url": null,
"license": "Copyright (c) Didim365.com",
"summary": "Community contributed LangChain integrations for Naver AI.",
"version": "0.1.11",
"project_urls": {
"Homepage": "https://gitlab.com/didim365-ai/naver-ai",
"Repository": "https://gitlab.com/didim365-ai/naver-ai",
"Source Code": "https://gitlab-ai.didim365.com/didim365/naverai/langchain_hcxai/"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "20e2a271aff1ece450ae57f894784b496f66a3fec42049203d466f0f80a9b4e6",
"md5": "d86e166cea1a4c1b70af90f76797c528",
"sha256": "326e4ae454a87355726e425f3fabaad522ee7672f2957f1f0ad9a625e0311416"
},
"downloads": -1,
"filename": "langchain_hcxai-0.1.11-py3-none-any.whl",
"has_sig": false,
"md5_digest": "d86e166cea1a4c1b70af90f76797c528",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.8.1",
"size": 20635,
"upload_time": "2024-09-04T04:42:07",
"upload_time_iso_8601": "2024-09-04T04:42:07.772768Z",
"url": "https://files.pythonhosted.org/packages/20/e2/a271aff1ece450ae57f894784b496f66a3fec42049203d466f0f80a9b4e6/langchain_hcxai-0.1.11-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "8ef8fe69380e3f8d50f898cd15f0a393396414ff5553e5fc48729e5f978bf5f7",
"md5": "392dc9490573cbd6cf2ea235ffe54d45",
"sha256": "275a7abe72d591fbe85aea417b397c44c6130fd0acad4353e3267ff04bf43efd"
},
"downloads": -1,
"filename": "langchain_hcxai-0.1.11.tar.gz",
"has_sig": false,
"md5_digest": "392dc9490573cbd6cf2ea235ffe54d45",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.8.1",
"size": 15872,
"upload_time": "2024-09-04T04:42:09",
"upload_time_iso_8601": "2024-09-04T04:42:09.337966Z",
"url": "https://files.pythonhosted.org/packages/8e/f8/fe69380e3f8d50f898cd15f0a393396414ff5553e5fc48729e5f978bf5f7/langchain_hcxai-0.1.11.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-09-04 04:42:09",
"github": false,
"gitlab": true,
"bitbucket": false,
"codeberg": false,
"gitlab_user": "didim365-ai",
"gitlab_project": "naver-ai",
"lcname": "langchain-hcxai"
}