# YOLOv5 安裝與環境設定
根據[官方文件](https://docs.ultralytics.com/zh/yolov5/quickstart_tutorial/),我們可以透過兩種方式安裝 YOLOv5:
- GitHub
- PyTorch Hub
在這次的設定中,將使用 GitHub 安裝。
## 更新環境
先將環境更新到最新,以利後須安裝流程順利。
```shell
$ sudo apt update && sudo apt upgrade -y
```
確保環境中有 `git` 和 `pip3`。
```shell
$ git -v && pip3 -V
git version 2.43.0
pip 24.0 from /usr/lib/python3/dist-packages/pip (python 3.12)
```
## 安裝
首先要先下載 YOLOv5 的 repo,並進入該目錄。
```shell
$ git clone https://github.com/ultralytics/yolov5 # clone repository
$ cd yolov5
```
此時若直接使用 `pip` 安裝 requirements.txt 的套件,有可能會出現以下錯誤訊息。這是作業系統為了不要被亂安裝搞壞的防護機制。
```shell
$ pip install -r requirements.txt
error: externally-managed-environment
× This environment is externally managed
╰─> To install Python packages system-wide, try apt install
python3-xyz, where xyz is the package you are trying to
install.
If you wish to install a non-Debian-packaged Python package,
create a virtual environment using python3 -m venv path/to/venv.
Then use path/to/venv/bin/python and path/to/venv/bin/pip. Make
sure you have python3-full installed.
If you wish to install a non-Debian packaged Python application,
it may be easiest to use pipx install xyz, which will manage a
virtual environment for you. Make sure you have pipx installed.
See /usr/share/doc/python3.12/README.venv for more information.
note: If you believe this is a mistake, please contact your Python installation or OS distribution provider. You can override this, at the risk of breaking your Python installation or OS, by passing --break-system-packages.
hint: See PEP 668 for the detailed specification.
```
因此需先使用 `venv` 建立虛擬環境。
```shell
$ python3 -m venv .venv && source .venv/bin/activate
```
若要退出虛擬環境則輸入:
```shell
$ deactivate
```
接著安裝依賴的 python 套件。
```
$ pip install -r requirements.txt
```
若過程都沒有問題即安裝完成。