From: k94-ishi <32672580+k94-ishi@users.noreply.github.com>
Date: Wed, 19 Mar 2025 12:22:33 +0000 (+0900)
Subject: 🌐 Add Japanese translation for `docs/ja/docs/virtual-environments.md` (#13304)
X-Git-Tag: 0.115.12~14
X-Git-Url: http://git.ipfire.org/gitweb/gitweb.cgi?a=commitdiff_plain;h=f806e0380767a8d89e7a64dc3ccb41e3535a5961;p=thirdparty%2Ffastapi%2Ffastapi.git
🌐 Add Japanese translation for `docs/ja/docs/virtual-environments.md` (#13304)
---
diff --git a/docs/ja/docs/virtual-environments.md b/docs/ja/docs/virtual-environments.md
new file mode 100644
index 0000000000..791cf64a84
--- /dev/null
+++ b/docs/ja/docs/virtual-environments.md
@@ -0,0 +1,831 @@
+# ä»®æ³ç°å¢
+
+Pythonããã¸ã§ã¯ãã®ä½æ¥ã§ã¯ã**ä»®æ³ç°å¢**ï¼ã¾ãã¯é¡ä¼¼ã®ä»çµã¿ï¼ã使ç¨ããããã¸ã§ã¯ããã¨ã«ã¤ã³ã¹ãã¼ã«ããããã±ã¼ã¸ãåé¢ããã¹ãã§ãããã
+
+/// info | æ
å ±
+
+ãããä»®æ³ç°å¢ã®æ¦è¦ãä½ææ¹æ³ãä½¿ç¨æ¹æ³ã«ã¤ãã¦æ¢ã«ãåç¥ãªãããã®ã»ã¯ã·ã§ã³ãã¹ããããããã¨ãã§ãã¾ããð¤
+
+///
+
+/// tip | è±ç¥è
+
+**ä»®æ³ç°å¢**ã¯ã**ç°å¢å¤æ°**ã¨ã¯ç°ãªãã¾ãã
+
+**ç°å¢å¤æ°**ã¯ãããã°ã©ã ã使ç¨ã§ããã·ã¹ãã å
ã®å¤æ°ã§ãã
+
+**ä»®æ³ç°å¢**ã¯ããã¡ã¤ã«ãã¾ã¨ãããã£ã¬ã¯ããªã®ãã¨ã§ãã
+
+///
+
+/// info | æ
å ±
+ãã®ãã¼ã¸ã§ã¯ã**ä»®æ³ç°å¢**ã®ä½¿ç¨æ¹æ³ã¨ããã®ã¯ãããã«ã¤ãã¦èª¬æãã¾ãã
+
+ãã**ãã¹ã¦ã管çãããã¼ã«**ï¼Pythonã®ã¤ã³ã¹ãã¼ã«ãå«ãï¼ãå°å
¥ããæºåãã§ãã¦ãããªããuv ãã試ããã ããã
+
+///
+
+## ããã¸ã§ã¯ãã®ä½æ
+
+ã¾ããããã¸ã§ã¯ãç¨ã®ãã£ã¬ã¯ããªã使ãã¾ãã
+
+ç§ã¯é常 home/user ãã£ã¬ã¯ããªã®ä¸ã« `code` ã¨ãããã£ã¬ã¯ããªãç¨æãã¦ãã¦ãããã¸ã§ã¯ããã¨ã«1ã¤ã®ãã£ã¬ã¯ããªããã®ä¸ã«ä½æãã¦ãã¾ãã
+
+
+
+```console
+// Go to the home directory
+$ cd
+// Create a directory for all your code projects
+$ mkdir code
+// Enter into that code directory
+$ cd code
+// Create a directory for this project
+$ mkdir awesome-project
+// Enter into that project directory
+$ cd awesome-project
+```
+
+
+
+## ä»®æ³ç°å¢ã®ä½æ
+
+Pythonããã¸ã§ã¯ãã§ã®**åãã¦ã®**使¥ãéå§ããéã«ã¯ã**ããã¸ã§ã¯ãå
**ã«ä»®æ³ç°å¢ã使ãã¦ãã ããã
+
+/// tip | è±ç¥è
+
+ãããè¡ãã®ã¯ã**ããã¸ã§ã¯ããã¨ã«1åã ã**ã§ãã使¥ã®ãã³ã«è¡ãå¿
è¦ã¯ããã¾ããã
+
+///
+
+//// tab | `venv`
+
+ä»®æ³ç°å¢ã使ããã«ã¯ãPythonã«ä»å±ãã¦ãã `venv` ã¢ã¸ã¥ã¼ã«ã使ç¨ã§ãã¾ãã
+
+
+
+```console
+$ python -m venv .venv
+```
+
+
+
+/// details | ãã®ã³ãã³ãã®æå³
+
+- `python` : `python` ã¨ããããã°ã©ã ãå¼ã³åºãã¾ã
+- `-m` : ã¢ã¸ã¥ã¼ã«ãã¹ã¯ãªããã¨ãã¦å¼ã³åºãã¾ããã©ã®ã¢ã¸ã¥ã¼ã«ãå¼ã³åºãã®ãããã®æ¬¡ã«æå®ãã¾ã
+- `venv` : é常Pythonã«ä»éãã¦ã¤ã³ã¹ãã¼ã«ããã `venv`ã¢ã¸ã¥ã¼ã«ã使ç¨ãã¾ã
+- `.venv` : ä»®æ³ç°å¢ã`.venv`ã¨ããæ°ãããã£ã¬ã¯ããªã«ä½æãã¾ã
+
+///
+
+////
+
+//// tab | `uv`
+
+ãã `uv` ãã¤ã³ã¹ãã¼ã«æ¸ã¿ãªããä»®æ³ç°å¢ã使ããããã« `uv` ã使ããã¨ãã§ãã¾ãã
+
+
+
+```console
+$ uv venv
+```
+
+
+
+/// tip | è±ç¥è
+
+ããã©ã«ãã§ã¯ã `uv` 㯠`.venv` ã¨ãããã£ã¬ã¯ããªã«ä»®æ³ç°å¢ã使ãã¾ãã
+
+ãã ãã追å ã®å¼æ°ã«ãã£ã¬ã¯ããªåãä¸ãã¦ã«ã¹ã¿ãã¤ãºãããã¨ãã§ãã¾ãã
+
+///
+
+////
+
+ãã®ã³ãã³ã㯠`.venv` ã¨ãããã£ã¬ã¯ããªã«æ°ããä»®æ³ç°å¢ã使ãã¾ãã
+
+/// details | `.venv` ã¾ãã¯ãã®ä»ã®åå
+
+ä»®æ³ç°å¢ãå¥ã®ãã£ã¬ã¯ããªã«ä½æãããã¨ãå¯è½ã§ããã `.venv` ã¨åä»ããã®ãä¸è¬çãªæ
£ç¿ã§ãã
+
+///
+
+## ä»®æ³ç°å¢ã®æå¹å
+
+å®è¡ãããPythonã³ãã³ããã¤ã³ã¹ãã¼ã«ãããããã±ã¼ã¸ãæ°ãã使ããä»®æ³ç°å¢ã使ç¨ããããããã®ä»®æ³ç°å¢ãæå¹åãã¾ãããã
+
+/// tip | è±ç¥è
+
+ãã®ããã¸ã§ã¯ãã®ä½æ¥ã§**æ°ããã¿ã¼ããã«ã»ãã·ã§ã³**ãéå§ããéã«ã¯ã**æ¯å**æå¹åãå¿
è¦ã§ãã
+
+///
+
+//// tab | Linux, macOS
+
+
+
+```console
+$ source .venv/bin/activate
+```
+
+
+
+////
+
+//// tab | Windows PowerShell
+
+
+
+```console
+$ .venv\Scripts\Activate.ps1
+```
+
+
+
+////
+
+//// tab | Windows Bash
+
+ããWindowsã§Bashã使ç¨ãã¦ããå ´å (Git Bashãªã©):
+
+
+
+```console
+$ source .venv/Scripts/activate
+```
+
+
+
+////
+
+/// tip | è±ç¥è
+
+**æ°ããããã±ã¼ã¸**ãä»®æ³ç°å¢ã«ã¤ã³ã¹ãã¼ã«ããã¨ãã«ã¯ãå度**æå¹å**ãã¦ãã ããã
+
+ãããããã¨ã§ããã®ããã±ã¼ã¸ãã¤ã³ã¹ãã¼ã«ãã**ã¿ã¼ããã«ï¼CLIï¼ããã°ã©ã **ã使ç¨ããå ´åã«ãä»®æ³ç°å¢å
ã®ãã®ã確å®ã«ä½¿ãããã°ãã¼ãã«ç°å¢ã«ã¤ã³ã¹ãã¼ã«ããã¦ããå¥ã®ãã®ï¼ããããå¿
è¦ãªãã®ã¨ã¯ç°ãªããã¼ã¸ã§ã³ï¼ã誤ã£ã¦ä½¿ç¨ãããã¨ãé²ãã¾ãã
+
+///
+
+## ä»®æ³ç°å¢ãæå¹ã§ãããã¨ã確èªãã
+
+ä»®æ³ç°å¢ãæå¹ã§ããï¼åã®ã³ãã³ããæ£å¸¸ã«æ©è½ããï¼ãã¨ã確èªãã¾ãã
+
+/// tip | è±ç¥è
+
+ããã¯**ä»»æ**ã§ããããã¹ã¦ãæå¾
éãã«æ©è½ããæå³ããä»®æ³ç°å¢ã使ç¨ãã¦ãããã¨ã**確èªãã**è¯ãæ¹æ³ã§ãã
+
+///
+
+//// tab | Linux, macOS, Windows Bash
+
+
+
+```console
+$ which python
+
+/home/user/code/awesome-project/.venv/bin/python
+```
+
+
+
+`.venv/bin/python` ã«ãã `python` ãã¤ããªããããã¸ã§ã¯ãï¼ãã®å ´å㯠`awesome-project` ï¼å
ã«è¡¨ç¤ºããã¦ããã°ãæ£å¸¸ã«åä½ãã¦ãã¾ã ðã
+
+////
+
+//// tab | Windows PowerShell
+
+
+
+``` console
+$ Get-Command python
+
+C:\Users\user\code\awesome-project\.venv\Scripts\python
+```
+
+
+
+`.venv\Scripts\python` ã«ãã `python` ãã¤ããªããããã¸ã§ã¯ãï¼ãã®å ´å㯠`awesome-project` ï¼å
ã«è¡¨ç¤ºããã¦ããã°ãæ£å¸¸ã«åä½ãã¦ãã¾ã ðã
+
+////
+
+## `pip` ãã¢ããã°ã¬ã¼ããã
+
+/// tip | è±ç¥è
+
+ãã `uv` ã使ç¨ãã¦ããå ´åã¯ã `pip` ã®ä»£ããã« `uv` ã使ã£ã¦ã¤ã³ã¹ãã¼ã«ãè¡ãããã `pip` ãã¢ããã°ã¬ã¼ãããå¿
è¦ã¯ããã¾ãã ðã
+
+///
+
+ããããã±ã¼ã¸ã®ã¤ã³ã¹ãã¼ã«ã« `pip`ï¼Pythonã«æ¨æºã§ä»å±ãã¦ãã¾ãï¼ã使ç¨ãã¦ãããªãã `pip` ãææ°ãã¼ã¸ã§ã³ã«**ã¢ããã°ã¬ã¼ã**ãã¾ãããã
+
+ããã±ã¼ã¸ã®ã¤ã³ã¹ãã¼ã«ä¸ã«çºçããæ³å®å¤ã®ã¨ã©ã¼ã®å¤ãã¯ãæåã« `pip` ãã¢ããã°ã¬ã¼ããã¦ããã ãã§è§£æ±ºããã¾ãã
+
+/// tip | è±ç¥è
+
+é常ãããã¯ä»®æ³ç°å¢ã使ããç´å¾ã«**ä¸åº¦ã ã**å®è¡ãã¾ãã
+
+///
+
+ä»®æ³ç°å¢ãæå¹ã§ãããã¨ãï¼ä¸ã§èª¬æããã³ãã³ãã§ï¼ç¢ºèªããã¢ããã°ã¬ã¼ããå®è¡ãã¾ãããï¼
+
+
+
+```console
+$ python -m pip install --upgrade pip
+
+---> 100%
+```
+
+
+
+## `.gitignore` ã追å ãã
+
+**Git**ã使ç¨ãã¦ããå ´åï¼ä½¿ç¨ããã¹ãã§ãããï¼ã `.gitignore` ãã¡ã¤ã«ã追å ãã¦ã `.venv` å
ã®ãããããã¡ã¤ã«ãGitã®ç®¡ç対象ããé¤å¤ãã¾ãã
+
+/// tip | è±ç¥è
+
+ãã `uv` ã使ç¨ãã¦ä»®æ³ç°å¢ã使ããå ´åããã§ã«ãã®ä½æ¥ã¯æ¸ãã§ããã®ã§ããã®æé ãã¹ãããã§ãã¾ã ðã
+
+///
+
+/// tip | è±ç¥è
+
+ããããä»®æ³ç°å¢ã使ããç´å¾ã«**ä¸åº¦ã ã**å®è¡ãã¾ãã
+
+///
+
+
+
+```console
+$ echo "*" > .venv/.gitignore
+```
+
+
+
+/// details | ãã®ã³ãã³ãã®æå³
+
+- `echo "*"` : ã¿ã¼ããã«ã« `*` ã¨ããããã¹ããã表示ããããã¨ãã¾ããï¼æ¬¡ã®é¨åã«ãã£ã¦ãã®åä½ãå°ãå¤ããã¾ãï¼
+- `>` : `>` ã®å·¦å´ã®ã³ãã³ããã¿ã¼ããã«ã«è¡¨ç¤ºãããã¨ããå
容ããã¿ã¼ããã«ã«ã¯è¡¨ç¤ºããã `>` ã®å³å´ã®ãã¡ã¤ã«ã«æ¸ãè¾¼ã¿ã¾ãã
+- `.gitignore` : `*` ãæ¸ãè¾¼ããã¡ã¤ã«åã
+
+ããã§ãGitã«ããã `*` ã¯ããã¹ã¦ããæå³ããã®ã§ããã®ã³ãã³ãã«ãã£ã¦ `.venv` ãã£ã¬ã¯ããªå
ã®ãã¹ã¦ãGitã«ç¡è¦ãããããã«ãªãã¾ãã
+
+ãã®ã³ãã³ãã¯ä»¥ä¸ã®ããã¹ããæã¤ `.gitignore` ãã¡ã¤ã«ã使ãã¾ãï¼
+
+```gitignore
+*
+```
+
+///
+
+## ããã±ã¼ã¸ã®ã¤ã³ã¹ãã¼ã«
+
+ä»®æ³ç°å¢ãæå¹åããå¾ããã®ä¸ã§ããã±ã¼ã¸ãã¤ã³ã¹ãã¼ã«ã§ãã¾ãã
+
+/// tip | è±ç¥è
+
+ããã¸ã§ã¯ãã«å¿
è¦ãªããã±ã¼ã¸ãã¤ã³ã¹ãã¼ã«ã¾ãã¯ã¢ããã°ã¬ã¼ãããå ´åãããã**ä¸åº¦**å®è¡ãã¾ãã
+
+ããæ°ããããã±ã¼ã¸ã追å ãããããã¼ã¸ã§ã³ãã¢ããã°ã¬ã¼ãããå¿
è¦ãããå ´åã¯ããã**ä¸åº¦ãã®æé ãç¹°ãè¿ã**ã¾ãã
+
+///
+
+### ããã±ã¼ã¸ãç´æ¥ã¤ã³ã¹ãã¼ã«ãã
+
+æ¥ãã§ãã¦ãããã¸ã§ã¯ãã®ããã±ã¼ã¸è¦ä»¶ã宣è¨ãããã¡ã¤ã«ã使ããããªãå ´åãããã±ã¼ã¸ãç´æ¥ã¤ã³ã¹ãã¼ã«ã§ãã¾ãã
+
+/// tip | è±ç¥è
+
+ããã°ã©ã ãå¿
è¦ã¨ããããã±ã¼ã¸ã¨ãã¼ã¸ã§ã³ããã¡ã¤ã«ï¼ä¾ãã° `requirements.txt` ã `pyproject.toml` ï¼ã«è¨è¼ãã¦ããã®ã¯ãï¼ã¨ã¦ãï¼è¯ãèãã§ãã
+
+///
+
+//// tab | `pip`
+
+
+
+```console
+$ pip install "fastapi[standard]"
+
+---> 100%
+```
+
+
+
+////
+
+//// tab | `uv`
+
+ãã `uv` ã使ç¨ã§ãããªã:
+
+
+
+```console
+$ uv pip install "fastapi[standard]"
+---> 100%
+```
+
+
+
+////
+
+### `requirements.txt` ããã¤ã³ã¹ãã¼ã«ãã
+
+ãã `requirements.txt` ããããªããããã±ã¼ã¸ã®ã¤ã³ã¹ãã¼ã«ã«ä½¿ç¨ã§ãã¾ãã
+
+//// tab | `pip`
+
+
+
+```console
+$ pip install -r requirements.txt
+---> 100%
+```
+
+
+
+////
+
+//// tab | `uv`
+
+ãã `uv` ã使ç¨ã§ãããªã:
+
+
+
+```console
+$ uv pip install -r requirements.txt
+---> 100%
+```
+
+
+
+////
+
+/// details | `requirements.txt`
+
+ããã±ã¼ã¸ãè¨è¼ããã `requirements.txt` ã¯ä»¥ä¸ã®ããã«ãªã£ã¦ãã¾ã:
+
+```requirements.txt
+fastapi[standard]==0.113.0
+pydantic==2.8.0
+```
+
+///
+
+## ããã°ã©ã ãå®è¡ãã
+
+ä»®æ³ç°å¢ãæå¹åããå¾ãããã°ã©ã ãå®è¡ã§ãã¾ãããã®éãä»®æ³ç°å¢å
ã®Pythonã¨ãããã«ã¤ã³ã¹ãã¼ã«ããããã±ã¼ã¸ã使ç¨ããã¾ãã
+
+
+
+```console
+$ python main.py
+
+Hello World
+```
+
+
+
+## ã¨ãã£ã¿ã®è¨å®
+
+ããã¸ã§ã¯ãã§ã¯ããããã¨ãã£ã¿ã使ç¨ããã§ããããã³ã¼ãè£å®ãã¤ã³ã©ã¤ã³ã¨ã©ã¼ã®è¡¨ç¤ºãã§ããããã«ã使ããä»®æ³ç°å¢ãã¨ãã£ã¿ã§ã使ããããè¨å®ãã¦ãã ãããï¼å¤ãã®å ´åãèªåæ¤åºããã¾ãï¼
+
+è¨å®ä¾:
+
+* VS Code
+* PyCharm
+
+/// tip | è±ç¥è
+
+ãã®è¨å®ã¯é常ãä»®æ³ç°å¢ã使ããéã«**ä¸åº¦ã ã**è¡ãã¾ãã
+
+///
+
+## ä»®æ³ç°å¢ã®ç¡å¹å
+
+ããã¸ã§ã¯ãã®ä½æ¥ãçµäºãããããã®ä»®æ³ç°å¢ã**ç¡å¹å**ã§ãã¾ãã
+
+
+
+```console
+$ deactivate
+```
+
+
+
+ããã«ããã `python` ã³ãã³ããå®è¡ãã¦ãããã®ããã¸ã§ã¯ãç¨ï¼ã®ããã±ã¼ã¸ãã¤ã³ã¹ãã¼ã«ãããï¼ä»®æ³ç°å¢ãã `python` ããã°ã©ã ãå¼ã³åºããã¨ã¯ããªããªãã¾ãã
+
+## 使¥æºåå®äº
+
+ããã¾ã§ã§ãããã¸ã§ã¯ãã®ä½æ¥ãå§ããæºåãæ´ãã¾ããã
+
+/// tip | è±ç¥è
+
+ä¸è¨ã®å
容ãçè§£ãããã§ããï¼
+
+ãããããªãã以ä¸ãèªã¿é²ãã¦ãã ãããðð¤
+
+///
+
+## ãªãä»®æ³ç°å¢ï¼
+
+FastAPIã使ã£ã使¥ãããã«ã¯ã [Python](https://www.python.org/) ã®ã¤ã³ã¹ãã¼ã«ãå¿
è¦ã§ãã
+
+ãããããFastAPIãã使ç¨ããããã®ä»ã®**ããã±ã¼ã¸**ã**ã¤ã³ã¹ãã¼ã«**ããå¿
è¦ãããã¾ãã
+
+ããã±ã¼ã¸ãã¤ã³ã¹ãã¼ã«ããã«ã¯ãé常ãPython ã«ä»å±ãã `pip` ã³ãã³ã (ã¾ãã¯åæ§ã®ä»£æ¿ã³ãã³ã) ã使ç¨ãã¾ãã
+
+ãã ãã`pip` ãç´æ¥ä½¿ç¨ããã¨ãããã±ã¼ã¸ã¯**ã°ãã¼ãã«ãªPythonç°å¢**ï¼OSå
¨ä½ã«ã¤ã³ã¹ãã¼ã«ãããPythonç°å¢ï¼ã«ã¤ã³ã¹ãã¼ã«ããã¾ãã
+
+### åé¡ç¹
+
+ã§ã¯ãã°ãã¼ãã«Pythonç°å¢ã«ããã±ã¼ã¸ãã¤ã³ã¹ãã¼ã«ãããã¨ã®åé¡ç¹ã¯ä½ã§ããããï¼
+
+ããæç¹ã§ãããªãã¯**ç°ãªãããã±ã¼ã¸**ã«ä¾åããå¤ãã®ããã°ã©ã ãæ¸ããã¨ã«ãªãã§ããããããã¦ããããã®ä¸ã«ã¯åãããã±ã¼ã¸ã®**ç°ãªããã¼ã¸ã§ã³**ã«ä¾åãããã®ãåºã¦ããã§ããããð±
+
+ä¾ãã°ã `philosophers-stone` ï¼è³¢è
ã®ç³ï¼ã¨ããããã¸ã§ã¯ãã使ããã¨ãã¾ãããã®ããã°ã©ã 㯠**`harry` ï¼ããªã¼ï¼ã¨ããããã±ã¼ã¸ã®ãã¼ã¸ã§ã³ `1`**ã«ä¾åãã¦ãã¾ãããã®ããã `harry` ï¼ããªã¼ï¼ãã¤ã³ã¹ãã¼ã«ããå¿
è¦ãããã¾ãã
+
+```mermaid
+flowchart LR
+ stone(philosophers-stone) -->|requires| harry-1[harry v1]
+```
+
+ããããã `prisoner-of-azkaban` ï¼ã¢ãºã«ãã³ã®å人ï¼ã¨ããå¥ã®ããã¸ã§ã¯ãã使ããã¨ãã¾ãããã®ããã¸ã§ã¯ãã `harry` ï¼ããªã¼ï¼ã«ä¾åãã¦ãã¾ããã**`harry` ï¼ããªã¼ï¼ã®ãã¼ã¸ã§ã³ `3`**ãå¿
è¦ã§ãã
+
+```mermaid
+flowchart LR
+ azkaban(prisoner-of-azkaban) --> |requires| harry-3[harry v3]
+```
+
+ããããããã§åé¡ã«ãªãã®ã¯ããããã¼ã«ã«ã®**ä»®æ³ç°å¢**ã§ã¯ãªãã°ãã¼ãã«ï¼ç°å¢ï¼ã«ããã±ã¼ã¸ãã¤ã³ã¹ãã¼ã«ãããªãã `harry` ï¼ããªã¼ï¼ã®ã©ã®ãã¼ã¸ã§ã³ãã¤ã³ã¹ãã¼ã«ãããé¸ã°ãªãã¨ãããªããã¨ã§ãã
+
+ä¾ãã°ã `philosophers-stone` ï¼è³¢è
ã®ç³ï¼ãå®è¡ããã«ã¯ãã¾ã `harry` ï¼ããªã¼ï¼ã®ãã¼ã¸ã§ã³ `1` ãã¤ã³ã¹ãã¼ã«ããå¿
è¦ãããã¾ãï¼
+
+
+
+```console
+$ pip install "harry==1"
+```
+
+
+
+ããã«ããã`harry` ï¼ããªã¼ï¼ãã¼ã¸ã§ã³1ãã°ãã¼ãã«ãªPythonç°å¢ã«ã¤ã³ã¹ãã¼ã«ããã¾ãã
+
+```mermaid
+flowchart LR
+ subgraph global[global env]
+ harry-1[harry v1]
+ end
+ subgraph stone-project[philosophers-stone project]
+ stone(philosophers-stone) -->|requires| harry-1
+ end
+```
+
+ãããã `prisoner-of-azkaban` ï¼ã¢ãºã«ãã³ã®å人ï¼ãå®è¡ãããå ´åã¯ã`harry` ï¼ããªã¼ï¼ã®ãã¼ã¸ã§ã³ `1` ãã¢ã³ã¤ã³ã¹ãã¼ã«ãã`harry` ï¼ããªã¼ï¼ã®ãã¼ã¸ã§ã³ `3` ãã¤ã³ã¹ãã¼ã«ãç´ãå¿
è¦ãããã¾ããï¼ãããã¯ãåã«`harry` ï¼ããªã¼ï¼ã®ãã¼ã¸ã§ã³ `3` ãã¤ã³ã¹ãã¼ã«ãããã¨ã§ãèªåçã«ãã¼ã¸ã§ã³ `1` ãã¢ã³ã¤ã³ã¹ãã¼ã«ããã¾ãï¼
+
+
+
+```console
+$ pip install "harry==3"
+```
+
+
+
+ãã®ããã«ãã¦ãã°ãã¼ãã«ç°å¢ã¸ã® `harry` ï¼ããªã¼ï¼ã®ãã¼ã¸ã§ã³ `3` ã®ã¤ã³ã¹ãã¼ã«ãå®äºãã¾ãã
+
+ããããã `philosophers-stone` ï¼è³¢è
ã®ç³ï¼ãåã³å®è¡ãããã¨ããã¨ããã®ããã°ã©ã 㯠`harry` ï¼ããªã¼ï¼ã®ãã¼ã¸ã§ã³ `1` ãå¿
è¦ãªããã**åä½ããªããªã**å¯è½æ§ãããã¾ãã
+
+```mermaid
+flowchart LR
+ subgraph global[global env]
+ harry-1[harry v1]
+ style harry-1 fill:#ccc,stroke-dasharray: 5 5
+ harry-3[harry v3]
+ end
+ subgraph stone-project[philosophers-stone project]
+ stone(philosophers-stone) -.-x|âï¸| harry-1
+ end
+ subgraph azkaban-project[prisoner-of-azkaban project]
+ azkaban(prisoner-of-azkaban) --> |requires| harry-3
+ end
+```
+
+/// tip | è±ç¥è
+
+Pythonã®ããã±ã¼ã¸ã§ã¯ã**æ°ãããã¼ã¸ã§ã³**ã§**äºææ§ãæãªã夿´ãé¿ãã**ããåªããã®ãä¸è¬çã§ãããããã§ã注æãå¿
è¦ã§ãããã¹ã¦ãæ£å¸¸ã«åä½ãããã¨ããã¹ãã§ç¢ºèªãã¦ãããæå³çã«æå®ãã¦æ°ãããã¼ã¸ã§ã³ãã¤ã³ã¹ãã¼ã«ããã®ãè¯ãã§ãããã
+
+///
+
+ããªãã®ãã¹ã¦ã®**ããã¸ã§ã¯ããä¾åãã¦ãã**ã**夿°ã®**ä»ã®**ããã±ã¼ã¸**ãä¸è¨ã®åé¡ãæ±ãã¦ããã¨æ³åãã¦ãã ãããããã¯ç®¡çãé常ã«å°é£ã§ããããã¦ã**äºææ§ã®ãªããã¼ã¸ã§ã³**ã®ããã±ã¼ã¸ã使ã£ã¦ããã¸ã§ã¯ããå®è¡ãããªãåä½ããªãã®ãåãããªããªãã§ãããã
+
+ã¾ãã使ç¨ãã¦ããOSï¼LinuxãWindowsãmacOS ãªã©ï¼ã«ãã£ã¦ã¯ãPythonããã§ã«ã¤ã³ã¹ãã¼ã«ããã¦ãããã¨ãããã¾ãããã®å ´åãç¹å®ã®ãã¼ã¸ã§ã³ã®ããã±ã¼ã¸ã**OSã®åä½ã«å¿
è¦ã§ãã**ãã¨ãããã¾ããã°ãã¼ãã«ç°å¢ã«ããã±ã¼ã¸ãã¤ã³ã¹ãã¼ã«ããã¨ãOSã«ä»å±ããããã°ã©ã ã**å£ãã¦ãã¾ã**å¯è½æ§ãããã¾ãã
+
+## ããã±ã¼ã¸ã®ã¤ã³ã¹ãã¼ã«å
+
+Pythonãã¤ã³ã¹ãã¼ã«ããã¨ãããã¡ã¤ã«ãå«ãã ããã¤ãã®ãã£ã¬ã¯ããªã使ããã¾ãã
+
+ãããã®ä¸ã«ã¯ãã¤ã³ã¹ãã¼ã«ãããããã±ã¼ã¸ãä¿åããããã®ãã®ãããã¾ãã
+
+以ä¸ã®ã³ãã³ããå®è¡ããã¨ãï¼
+
+
+
+```console
+// Don't run this now, it's just an example ð¤
+$ pip install "fastapi[standard]"
+---> 100%
+```
+
+
+
+FastAPIã®ã³ã¼ããå«ãå§ç¸®ãã¡ã¤ã«ããé常㯠[PyPI](https://pypi.org/project/fastapi/) ãããã¦ã³ãã¼ãããã¾ãã
+
+ã¾ããFastAPIãä¾åããä»ã®ããã±ã¼ã¸ã**ãã¦ã³ãã¼ã**ããã¾ãã
+
+ããããããããã®ãã¡ã¤ã«ã¯**è§£å**ãããã³ã³ãã¥ã¼ã¿ã®ãããã£ã¬ã¯ããªã«é
ç½®ããã¾ãã
+
+ããã©ã«ãã§ã¯ããããã®ãã¡ã¤ã«ã¯Pythonã®ã¤ã³ã¹ãã¼ã«æã«ä½æããããã£ã¬ã¯ããªãã¤ã¾ã**ã°ãã¼ãã«ç°å¢**ã«é
ç½®ããã¾ãã
+
+## ä»®æ³ç°å¢ã¨ã¯
+
+ãã¹ã¦ã®ããã±ã¼ã¸ãã°ãã¼ãã«ç°å¢ã«é
ç½®ãããã¨ã«ãã£ã¦çããåé¡ã®è§£æ±ºçã¯ã使¥ãã**ããã¸ã§ã¯ããã¨ã®ä»®æ³ç°å¢**ã使ç¨ãããã¨ã§ãã
+
+ä»®æ³ç°å¢ã¯**ãã£ã¬ã¯ããª**ã§ãããã°ãã¼ãã«ç°å¢ã¨é常ã«ä¼¼ã¦ãã¦ãä¸ã¤ã®ããã¸ã§ã¯ãã§ä½¿ãç¹å®ã®ããã±ã¼ã¸ç¾¤ãã¤ã³ã¹ãã¼ã«ã§ããå ´æã§ãã
+
+ãã®ããã«ãã¦ãããããã®ããã¸ã§ã¯ããç¬èªã®ä»®æ³ç°å¢ï¼`.venv` ãã£ã¬ã¯ããªï¼ã«ç¬èªã®ããã±ã¼ã¸ç¾¤ãæã¤ãã¨ãã§ãã¾ãã
+
+```mermaid
+flowchart TB
+ subgraph stone-project[philosophers-stone project]
+ stone(philosophers-stone) --->|requires| harry-1
+ subgraph venv1[.venv]
+ harry-1[harry v1]
+ end
+ end
+ subgraph azkaban-project[prisoner-of-azkaban project]
+ azkaban(prisoner-of-azkaban) --->|requires| harry-3
+ subgraph venv2[.venv]
+ harry-3[harry v3]
+ end
+ end
+ stone-project ~~~ azkaban-project
+```
+
+## ä»®æ³ç°å¢ã®æå¹åã¨ã¯
+
+ä»®æ³ç°å¢ãæå¹ã«ããã¨ããä¾ãã°æ¬¡ã®ã³ãã³ããå®è¡ããå ´åãèãã¾ãï¼
+
+//// tab | Linux, macOS
+
+
+
+```console
+$ source .venv/bin/activate
+```
+
+
+
+////
+
+//// tab | Windows PowerShell
+
+
+
+```console
+$ .venv\Scripts\Activate.ps1
+```
+
+
+
+////
+
+//// tab | Windows Bash
+
+ãããã¯ãWindowsã§Bashã使ç¨ãã¦ããå ´å (Git Bashãªã©):
+
+
+
+```console
+$ source .venv/Scripts/activate
+```
+
+
+
+////
+
+ããã«ãã£ã¦ãããã¤ãã® [ç°å¢å¤æ°](environment-variables.md){.internal-link target=_blank} ã使ã»ä¿®æ£ãããæ¬¡ã«å®è¡ãããã³ãã³ãã§ä½¿ç¨ã§ããããã«ãªãã¾ãã
+
+ãããã®ç°å¢å¤æ°ã®ã²ã¨ã¤ã«ã `PATH` 夿°ãããã¾ãã
+
+/// tip | è±ç¥è
+
+`PATH` 夿°ã«ã¤ãã¦ã®è©³ç´°ã¯ [ç°å¢å¤æ°](environment-variables.md#pathç°å¢å¤æ°){.internal-link target=_blank} ãåç
§ãã¦ãã ããã
+
+///
+
+ä»®æ³ç°å¢ãæå¹ã«ããã¨ããã®ä»®æ³ç°å¢ã®ãã¹ `.venv/bin` ï¼Linuxã¨macOSï¼ãããã㯠`.venv\Scripts` ï¼Windowsï¼ã `PATH` 夿°ã«è¿½å ããã¾ãã
+
+ãã®ç°å¢ãæå¹ã«ããåã® `PATH` 夿°ã次ã®ããã«ãªã£ã¦ããã¨ãã¾ãã
+
+//// tab | Linux, macOS
+
+```plaintext
+/usr/bin:/bin:/usr/sbin:/sbin
+```
+
+ããã¯ãOSã以ä¸ã®ãã£ã¬ã¯ããªä¸ã§ããã°ã©ã ãæ¢ããã¨ãæå³ãã¾ãï¼
+
+* `/usr/bin`
+* `/bin`
+* `/usr/sbin`
+* `/sbin`
+
+////
+
+//// tab | Windows
+
+```plaintext
+C:\Windows\System32
+```
+
+ããã¯ãOSã以ä¸ã®ãã£ã¬ã¯ããªä¸ã§ããã°ã©ã ãæ¢ããã¨ãæå³ãã¾ãï¼
+
+* `C:\Windows\System32`
+
+////
+
+ä»®æ³ç°å¢ãæå¹ã«ããã¨ã `PATH` 夿°ã¯æ¬¡ã®ããã«ãªãã¾ãã
+
+//// tab | Linux, macOS
+
+```plaintext
+/home/user/code/awesome-project/.venv/bin:/usr/bin:/bin:/usr/sbin:/sbin
+```
+
+ããã¯ãOSãä»ã®ãã£ã¬ã¯ããªãæ¢ãããåã«ãæåã«ä»¥ä¸ã®ãã£ã¬ã¯ããªä¸ã§ããã°ã©ã ãæ¢ãå§ãããã¨ãæå³ãã¾ãï¼
+
+```plaintext
+/home/user/code/awesome-project/.venv/bin
+```
+
+ãã®ãããã¿ã¼ããã«ã§ `python` ã¨å
¥åããéã«ãOSã¯Pythonããã°ã©ã ã以ä¸ã®ãã¹ã§çºè¦ãã使ç¨ãã¾ãã
+
+```plaintext
+/home/user/code/awesome-project/.venv/bin/python
+```
+
+////
+
+//// tab | Windows
+
+```plaintext
+C:\Users\user\code\awesome-project\.venv\Scripts;C:\Windows\System32
+```
+
+ããã¯ãOSãä»ã®ãã£ã¬ã¯ããªãæ¢ãããåã«ãæåã«ä»¥ä¸ã®ãã£ã¬ã¯ããªä¸ã§ããã°ã©ã ãæ¢ãå§ãããã¨ãæå³ãã¾ãï¼
+
+```plaintext
+C:\Users\user\code\awesome-project\.venv\Scripts
+```
+
+ãã®ãããã¿ã¼ããã«ã§ `python` ã¨å
¥åããéã«ãOSã¯Pythonããã°ã©ã ã以ä¸ã®ãã¹ã§çºè¦ãã使ç¨ãã¾ãã
+
+```plaintext
+C:\Users\user\code\awesome-project\.venv\Scripts\python
+```
+
+////
+
+éè¦ãªç¹ã¯ãä»®æ³ç°å¢ã®ãã¹ã `PATH` 夿°ã®**å
é **ã«é
ç½®ãããã¨ã§ããOSã¯å©ç¨å¯è½ãªä»ã®Pythonãè¦ã¤ãããã**åã«**ããã®ä»®æ³ç°å¢ã®Pythonãè¦ã¤ããããã«ãªãã¾ãããã®ããã«ãã¦ã `python` ãå®è¡ããã¨ãã«ãä»ã® `python` ï¼ä¾ãã°ã°ãã¼ãã«ç°å¢ã® `python` ï¼ã§ã¯ãªãã**ãã®ä»®æ³ç°å¢ã®**Pythonã使ç¨ããããã«ãªãã¾ãã
+
+ä»®æ³ç°å¢ãæå¹ã«ãã¦å¤æ´ããããã¨ã¯ä»ã«ãããã¾ããããããæãéè¦ãªå¤æ´ã®ã²ã¨ã¤ã§ãã
+
+## ä»®æ³ç°å¢ã®ç¢ºèª
+
+ä»®æ³ç°å¢ãæå¹ãã©ãããä¾ãã°æ¬¡ã®ããã«ç¢ºèªã§ãã¾ããï¼
+
+//// tab | Linux, macOS, Windows Bash
+
+
+
+```console
+$ which python
+
+/home/user/code/awesome-project/.venv/bin/python
+```
+
+
+
+////
+
+//// tab | Windows PowerShell
+
+
+
+```console
+$ Get-Command python
+
+C:\Users\user\code\awesome-project\.venv\Scripts\python
+```
+
+
+
+////
+
+ããã¯ã使ç¨ããã `python` ããã°ã©ã ã**ãã®ä»®æ³ç°å¢ã®**ãã®ã§ãããã¨ãæå³ãã¾ãã
+
+LinuxãmacOSã§ã¯ `which` ããWindows PowerShellã§ã¯ `Get-Command` ã使ç¨ãã¾ãã
+
+ãã®ã³ãã³ãã®åä½ã¯ã `PATH`夿°ã«è¨å®ããã**ããããã®ãã¹ãé ã«**確èªãã¦ãããå¼ã°ãã¦ãã `python` ããã°ã©ã ãæ¢ãã¾ããããã¦ãè¦ã¤ããæ¬¡ç¬¬ãã®ããã°ã©ã ã¸ã®**ãã¹ã表示ãã¾ã**ã
+
+æãéè¦ãªãã¨ã¯ã `python` ãå¼ã°ããã¨ãã«ãã¾ãã«ãã®ã³ãã³ãã§ç¢ºèªãã "`python`" ãå®è¡ããããã¨ã§ãã
+
+ãããã¦ãèªåãæ³å®éãã®ä»®æ³ç°å¢ã«ãããã確èªã§ãã¾ãã
+
+/// tip | è±ç¥è
+
+ããä»®æ³ç°å¢ãæå¹ã«ãããã®Pythonã使ç¨ããã¾ã¾**ä»ã®ããã¸ã§ã¯ãã«ç§»åãã¦**ãã¾ããã¨ã¯ç°¡åã«èµ·ããå¾ã¾ãã
+
+ããã¦ããã®ç¬¬äºã®ããã¸ã§ã¯ãã¯åä½ããªãã§ãããããªããªãå¥ã®ããã¸ã§ã¯ãã®ä»®æ³ç°å¢ã®**誤ã£ãPython**ã使ç¨ãã¦ããããã§ãã
+
+ãã®ãããã©ã® `python` ã使ç¨ããã¦ããã®ã確èªã§ãããã¨ã¯å½¹ç«ã¡ã¾ããð¤
+
+///
+
+## ãªãä»®æ³ç°å¢ãç¡å¹åããã®ã
+
+ä¾ãã°ã`philosophers-stone` ï¼è³¢è
ã®ç³ï¼ã¨ããããã¸ã§ã¯ãã§ä½æ¥ããã¦ãã¦ã**ãã®ä»®æ³ç°å¢ãæå¹ã«ã**ãå¿
è¦ãªããã±ã¼ã¸ãã¤ã³ã¹ãã¼ã«ãã¦ãã®ç°å¢å
ã§ä½æ¥ãé²ãã¦ããã¨ãã¾ãã
+
+ããããã**å¥ã®ããã¸ã§ã¯ã**ã `prisoner-of-azkaban` ï¼ã¢ãºã«ãã³ã®å人ï¼ã«åãæãããã¨ãã¾ãã
+
+ãã®ããã¸ã§ã¯ããã£ã¬ã¯ããªã¸ç§»åãã¾ãï¼
+
+
+
+```console
+$ cd ~/code/prisoner-of-azkaban
+```
+
+
+
+ãã `philosophers-stone` ï¼è³¢è
ã®ç³ï¼ã®ä»®æ³ç°å¢ãç¡å¹åãã¦ããªãã¨ã`python` ãå®è¡ããã¨ãã ã¿ã¼ããã«ã¯ `philosophers-stone` ï¼è³¢è
ã®ç³ï¼ã®Pythonã使ç¨ãããã¨ãã¾ãã
+
+
+
+```console
+$ cd ~/code/prisoner-of-azkaban
+
+$ python main.py
+
+// Error importing sirius, it's not installed ð±
+Traceback (most recent call last):
+ File "main.py", line 1, in
+ import sirius
+```
+
+
+
+ãããããã®ä»®æ³ç°å¢ãç¡å¹åãã `prisoner-of-azkaban` ï¼ã¢ãºã«ãã³ã®å人ï¼ã®ããã®æ°ããä»®æ³ç°å¢ãæå¹ã«ããã°ã `python` ãå®è¡ããã¨ãã« `prisoner-of-azkaban` ï¼ã¢ãºã«ãã³ã®å人ï¼ã®ä»®æ³ç°å¢ã® Python ã使ç¨ãããããã«ãªãã¾ãã
+
+
+
+```console
+$ cd ~/code/prisoner-of-azkaban
+
+// You don't need to be in the old directory to deactivate, you can do it wherever you are, even after going to the other project ð
+$ deactivate
+
+// Activate the virtual environment in prisoner-of-azkaban/.venv ð
+$ source .venv/bin/activate
+
+// Now when you run python, it will find the package sirius installed in this virtual environment â¨
+$ python main.py
+
+I solemnly swear ðº
+```
+
+
+
+## ä»£æ¿ææ®µ
+
+ããã¯ãããããä»çµã¿ã**æ ¹æ¬ãã**å¦ã¶ããã®ã·ã³ãã«ãªå
¥éã¬ã¤ãã§ãã
+
+ä»®æ³ç°å¢ãããã±ã¼ã¸ã®ä¾åé¢ä¿ï¼requirementsï¼ãããã¸ã§ã¯ãã®ç®¡çã«ã¯ãå¤ãã®**ä»£æ¿ææ®µ**ãããã¾ãã
+
+æºåãæ´ããããã±ã¼ã¸ã®ä¾åé¢ä¿ãä»®æ³ç°å¢ãªã©**ããã¸ã§ã¯ãå
¨ä½ã®ç®¡ç**ãã¼ã«ã使ãããã¨èããããuv ã試ãã¦ã¿ããã¨ããããããã¾ãã
+
+`uv` ã§ã¯ä»¥ä¸ã®ãããªå¤ãã®ãã¨ãã§ãã¾ãï¼
+
+* ç°ãªããã¼ã¸ã§ã³ãå«ãã**Python ã®ã¤ã³ã¹ãã¼ã«**
+* ããã¸ã§ã¯ããã¨ã®**ä»®æ³ç°å¢**ã®ç®¡ç
+* **ããã±ã¼ã¸**ã®ã¤ã³ã¹ãã¼ã«
+* ããã¸ã§ã¯ãã®ããã±ã¼ã¸ã®**ä¾åé¢ä¿ããã¼ã¸ã§ã³**ã®ç®¡ç
+* ããã±ã¼ã¸ã¨ãã®ãã¼ã¸ã§ã³ã®ãä¾åé¢ä¿ãå«ãã**å³å¯ãª**çµã¿åãããä¿æããããã«ãã£ã¦ãæ¬çªç°å¢ã§ãéçºç°å¢ã¨å
¨ãåãããã«ããã¸ã§ã¯ããå®è¡ã§ããï¼ããã¯**locking**ã¨å¼ã°ãã¾ãï¼
+* ãã®ä»ã®ãã¾ãã¾ãªæ©è½
+
+## ã¾ã¨ã
+
+ããã¾ã§èªã¿ãã¹ã¦çè§£ãããªããä¸éã®å¤ãã®éçºè
ã¨æ¯ã¹ã¦ãä»®æ³ç°å¢ã«ã¤ãã¦**ããªãã¯ããå¤ãã®ãã¨ãç¥ã£ã¦ãã¾ã**ãð¤
+
+ãããã®è©³ç´°ãç¥ããã¨ã¯ãå°æ¥ãè¤éã«è¦ããä½ãã®ãããã°ã«ãã£ã¨å½¹ç«ã¤ã§ãããããããããã®é ã«ã¯ãããªãã¯**ãã®ãã¹ã¦ã®åä½ãæ ¹æ¬ãã**çè§£ãã¦ããã§ããããð