From 6852b76611744bec5cb36ced3b8f64250e6c0435 Mon Sep 17 00:00:00 2001
From: Glenn Jocher <glenn.jocher@ultralytics.com>
Date: Wed, 2 Aug 2023 17:32:03 +0200
Subject: [PATCH] Use double quotes for `pip install` options (#4110)

Co-authored-by: Kayzwer <68285002+Kayzwer@users.noreply.github.com>
---
 .github/workflows/ci.yaml                                 | 8 ++++----
 .github/workflows/publish.yml                             | 2 +-
 docker/Dockerfile                                         | 2 +-
 docker/Dockerfile-cpu                                     | 2 +-
 docker/Dockerfile-python                                  | 2 +-
 docs/README.md                                            | 2 +-
 docs/integrations/ray-tune.md                             | 2 +-
 docs/reference/utils/__init__.md                          | 5 -----
 .../yolov5/tutorials/neural_magic_pruning_quantization.md | 2 +-
 setup.py                                                  | 2 +-
 ultralytics/engine/exporter.py                            | 2 +-
 ultralytics/utils/tuner.py                                | 2 +-
 12 files changed, 14 insertions(+), 19 deletions(-)

diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml
index 86d7eddd..5ce9274e 100644
--- a/.github/workflows/ci.yaml
+++ b/.github/workflows/ci.yaml
@@ -107,9 +107,9 @@ jobs:
         run: |
           python -m pip install --upgrade pip wheel
           if [ "${{ matrix.os }}" == "macos-latest" ]; then
-              pip install -e '.[export]' --extra-index-url https://download.pytorch.org/whl/cpu
+              pip install -e ".[export]" --extra-index-url https://download.pytorch.org/whl/cpu
             else
-              pip install -e '.[export]' --extra-index-url https://download.pytorch.org/whl/cpu
+              pip install -e ".[export]" --extra-index-url https://download.pytorch.org/whl/cpu
           fi
           yolo export format=tflite imgsz=32
       - name: Check environment
@@ -165,9 +165,9 @@ jobs:
         run: |  # CoreML must be installed before export due to protobuf error from AutoInstall
           python -m pip install --upgrade pip wheel
           if [ "${{ matrix.torch }}" == "1.8.0" ]; then
-              pip install -e . torch==1.8.0 torchvision==0.9.0 pytest 'coremltools>=6.0,<=6.2' --extra-index-url https://download.pytorch.org/whl/cpu
+              pip install -e . torch==1.8.0 torchvision==0.9.0 pytest "coremltools>=6.0,<=6.2" --extra-index-url https://download.pytorch.org/whl/cpu
           else
-              pip install -e . pytest 'coremltools>=6.0,<=6.2' --extra-index-url https://download.pytorch.org/whl/cpu
+              pip install -e . pytest "coremltools>=6.0,<=6.2" --extra-index-url https://download.pytorch.org/whl/cpu
           fi
       - name: Check environment
         run: |
diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml
index 911f4bd0..4e590afb 100644
--- a/.github/workflows/publish.yml
+++ b/.github/workflows/publish.yml
@@ -33,7 +33,7 @@ jobs:
       - name: Install dependencies
         run: |
           python -m pip install --upgrade pip wheel build twine
-          pip install -e '.[dev]' --extra-index-url https://download.pytorch.org/whl/cpu
+          pip install -e ".[dev]" --extra-index-url https://download.pytorch.org/whl/cpu
       - name: Check PyPI version
         shell: python
         run: |
diff --git a/docker/Dockerfile b/docker/Dockerfile
index 381c68f7..59691781 100644
--- a/docker/Dockerfile
+++ b/docker/Dockerfile
@@ -30,7 +30,7 @@ ADD https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n.pt /u
 
 # Install pip packages
 RUN python3 -m pip install --upgrade pip wheel
-RUN pip install --no-cache -e '.[export]' thop albumentations comet pycocotools
+RUN pip install --no-cache -e ".[export]" thop albumentations comet pycocotools
 
 # Run exports to AutoInstall packages
 RUN yolo export model=tmp/yolov8n.pt format=edgetpu imgsz=32
diff --git a/docker/Dockerfile-cpu b/docker/Dockerfile-cpu
index 4a31fa5e..172e6e6b 100644
--- a/docker/Dockerfile-cpu
+++ b/docker/Dockerfile-cpu
@@ -28,7 +28,7 @@ RUN rm -rf /usr/lib/python3.11/EXTERNALLY-MANAGED
 
 # Install pip packages
 RUN python3 -m pip install --upgrade pip wheel
-RUN pip install --no-cache -e '.[export]' thop --extra-index-url https://download.pytorch.org/whl/cpu
+RUN pip install --no-cache -e ".[export]" thop --extra-index-url https://download.pytorch.org/whl/cpu
 
 # Run exports to AutoInstall packages
 RUN yolo export model=tmp/yolov8n.pt format=edgetpu imgsz=32
diff --git a/docker/Dockerfile-python b/docker/Dockerfile-python
index 2664647b..5083d40c 100644
--- a/docker/Dockerfile-python
+++ b/docker/Dockerfile-python
@@ -28,7 +28,7 @@ ADD https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n.pt /u
 
 # Install pip packages
 RUN python3 -m pip install --upgrade pip wheel
-RUN pip install --no-cache -e '.[export]' thop --extra-index-url https://download.pytorch.org/whl/cpu
+RUN pip install --no-cache -e ".[export]" thop --extra-index-url https://download.pytorch.org/whl/cpu
 
 # Run exports to AutoInstall packages
 RUN yolo export model=tmp/yolov8n.pt format=edgetpu imgsz=32
diff --git a/docs/README.md b/docs/README.md
index fcd45408..44dece6b 100644
--- a/docs/README.md
+++ b/docs/README.md
@@ -27,7 +27,7 @@ cd ultralytics
 3. Install the package in developer mode using pip:
 
 ```bash
-pip install -e '.[dev]'
+pip install -e ".[dev]"
 ```
 
 This will install the ultralytics package and its dependencies in developer mode, allowing you to make changes to the
diff --git a/docs/integrations/ray-tune.md b/docs/integrations/ray-tune.md
index 4d34753e..a6b5b78a 100644
--- a/docs/integrations/ray-tune.md
+++ b/docs/integrations/ray-tune.md
@@ -30,7 +30,7 @@ To install the required packages, run:
 
     ```bash
     # Install and update Ultralytics and Ray Tune packages
-    pip install -U ultralytics 'ray[tune]'
+    pip install -U ultralytics "ray[tune]"
 
     # Optionally install W&B for logging
     pip install wandb
diff --git a/docs/reference/utils/__init__.md b/docs/reference/utils/__init__.md
index 3835ef17..c9a35bba 100644
--- a/docs/reference/utils/__init__.md
+++ b/docs/reference/utils/__init__.md
@@ -153,11 +153,6 @@ keywords: Ultralytics, Utils, utilitarian functions, colorstr, yaml_save, set_lo
 ### ::: ultralytics.utils.set_sentry
 <br><br>
 
-## update_dict_recursive
----
-### ::: ultralytics.utils.update_dict_recursive
-<br><br>
-
 ## deprecation_warn
 ---
 ### ::: ultralytics.utils.deprecation_warn
diff --git a/docs/yolov5/tutorials/neural_magic_pruning_quantization.md b/docs/yolov5/tutorials/neural_magic_pruning_quantization.md
index d06fc746..8b978f7a 100644
--- a/docs/yolov5/tutorials/neural_magic_pruning_quantization.md
+++ b/docs/yolov5/tutorials/neural_magic_pruning_quantization.md
@@ -67,7 +67,7 @@ We will walk through an example benchmarking and deploying a sparse version of Y
 Run the following to install DeepSparse. We recommend you use a virtual environment with Python.
 
 ```bash
-pip install deepsparse[server,yolo,onnxruntime]
+pip install "deepsparse[server,yolo,onnxruntime]"
 ```
 
 ### Collect an ONNX File
diff --git a/setup.py b/setup.py
index 199c745d..129cebee 100644
--- a/setup.py
+++ b/setup.py
@@ -46,7 +46,7 @@ setup(
             'mkdocs-material',
             'mkdocstrings[python]',
             'mkdocs-redirects',  # for 301 redirects
-            'mkdocs-ultralytics-plugin>=0.0.22',  # for meta descriptions and images, dates and authors
+            'mkdocs-ultralytics-plugin>=0.0.24',  # for meta descriptions and images, dates and authors
         ],
         'export': [
             'coremltools>=6.0,<=6.2',
diff --git a/ultralytics/engine/exporter.py b/ultralytics/engine/exporter.py
index 5b26643c..aad6dd9e 100644
--- a/ultralytics/engine/exporter.py
+++ b/ultralytics/engine/exporter.py
@@ -19,7 +19,7 @@ PaddlePaddle            | `paddle`                  | yolov8n_paddle_model/
 ncnn                    | `ncnn`                    | yolov8n_ncnn_model/
 
 Requirements:
-    $ pip install ultralytics[export]
+    $ pip install "ultralytics[export]"
 
 Python:
     from ultralytics import YOLO
diff --git a/ultralytics/utils/tuner.py b/ultralytics/utils/tuner.py
index c40983c4..85df9da5 100644
--- a/ultralytics/utils/tuner.py
+++ b/ultralytics/utils/tuner.py
@@ -35,7 +35,7 @@ def run_ray_tune(model,
         from ray.air.integrations.wandb import WandbLoggerCallback
         from ray.tune.schedulers import ASHAScheduler
     except ImportError:
-        raise ModuleNotFoundError("Tuning hyperparameters requires Ray Tune. Install with: pip install 'ray[tune]'")
+        raise ModuleNotFoundError('Tuning hyperparameters requires Ray Tune. Install with: pip install "ray[tune]"')
 
     try:
         import wandb