mirror of
https://github.com/rasbt/LLMs-from-scratch.git
synced 2025-08-31 12:00:23 +00:00
Don't explicitly install Python. Use uv sync instead of uv add. (#540)
* Don't explicitly install Python. Use uv sync instead of uv add. * updates * update * updated 3.11 workflows --------- Co-authored-by: rasbt <mail@sebastianraschka.com>
This commit is contained in:
parent
7bd36dccb4
commit
1039bf9b80
4
.github/workflows/basic-tests-linux-uv.yml
vendored
4
.github/workflows/basic-tests-linux-uv.yml
vendored
@ -33,13 +33,13 @@ jobs:
|
||||
- name: Set up Python (uv)
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: "3.10"
|
||||
python-version: "3.11"
|
||||
|
||||
- name: Install uv and dependencies
|
||||
shell: bash
|
||||
run: |
|
||||
curl -LsSf https://astral.sh/uv/install.sh | sh
|
||||
uv python install 3.10
|
||||
uv python install 3.11
|
||||
uv add . --dev
|
||||
uv pip install -r ch05/07_gpt_to_llama/tests/test-requirements-extra.txt
|
||||
uv add pytest-ruff nbval
|
||||
|
4
.github/workflows/basic-tests-macos-uv.yml
vendored
4
.github/workflows/basic-tests-macos-uv.yml
vendored
@ -33,13 +33,13 @@ jobs:
|
||||
- name: Set up Python (uv)
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: "3.10"
|
||||
python-version: "3.11"
|
||||
|
||||
- name: Install uv and dependencies
|
||||
shell: bash
|
||||
run: |
|
||||
curl -LsSf https://astral.sh/uv/install.sh | sh
|
||||
uv python install 3.10
|
||||
uv python install 3.11
|
||||
uv add . --dev
|
||||
uv pip install -r ch05/07_gpt_to_llama/tests/test-requirements-extra.txt
|
||||
uv add pytest-ruff nbval
|
||||
|
@ -31,12 +31,12 @@ jobs:
|
||||
- name: Set up Python
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: "3.10"
|
||||
python-version: "3.11"
|
||||
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
curl -LsSf https://astral.sh/uv/install.sh | sh
|
||||
uv python install 3.10
|
||||
uv python install 3.11
|
||||
uv add . --dev
|
||||
uv pip install -r ch05/07_gpt_to_llama/tests/test-requirements-extra.txt
|
||||
uv add torch==${{ matrix.pytorch-version }}
|
||||
|
2
.github/workflows/basic-tests-pip.yml
vendored
2
.github/workflows/basic-tests-pip.yml
vendored
@ -33,7 +33,7 @@ jobs:
|
||||
- name: Set up Python
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: "3.10"
|
||||
python-version: "3.11"
|
||||
|
||||
- name: Create Virtual Environment and Install Dependencies
|
||||
run: |
|
||||
|
4
.github/workflows/basic-tests-pytorch-rc.yml
vendored
4
.github/workflows/basic-tests-pytorch-rc.yml
vendored
@ -27,12 +27,12 @@ jobs:
|
||||
- name: Set up Python
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: "3.10"
|
||||
python-version: "3.11"
|
||||
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
curl -LsSf https://astral.sh/uv/install.sh | sh
|
||||
uv python install 3.10
|
||||
uv python install 3.11
|
||||
uv add . --dev
|
||||
uv pip install -r ch05/07_gpt_to_llama/tests/test-requirements-extra.txt
|
||||
uv add pytest-ruff nbval
|
||||
|
@ -29,7 +29,7 @@ jobs:
|
||||
- name: Set up Python
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: '3.10'
|
||||
python-version: '3.11'
|
||||
|
||||
- name: Install dependencies
|
||||
shell: bash
|
||||
@ -37,7 +37,7 @@ jobs:
|
||||
export PATH="$HOME/.local/bin:$PATH"
|
||||
pip install --upgrade pip
|
||||
pip install uv
|
||||
uv venv --python=python3.10
|
||||
uv venv --python=python3.11
|
||||
source .venv/Scripts/activate
|
||||
pip install -r requirements.txt # because of dependency issue on Windows when using `uv pip`
|
||||
pip install tensorflow-io-gcs-filesystem==0.31.0 # Explicit for Windows
|
||||
|
4
.github/workflows/check-links.yml
vendored
4
.github/workflows/check-links.yml
vendored
@ -18,12 +18,12 @@ jobs:
|
||||
- name: Set up Python
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: '3.10'
|
||||
python-version: '3.11'
|
||||
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
curl -LsSf https://astral.sh/uv/install.sh | sh
|
||||
uv python install 3.10
|
||||
uv python install 3.11
|
||||
uv add . --dev
|
||||
uv add pytest-ruff pytest-check-links
|
||||
# Current version of retry doesn't work well if there are broken non-URL links
|
||||
|
4
.github/workflows/check-spelling-errors.yml
vendored
4
.github/workflows/check-spelling-errors.yml
vendored
@ -18,12 +18,12 @@ jobs:
|
||||
- name: Set up Python
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: '3.10'
|
||||
python-version: '3.11'
|
||||
|
||||
- name: Install codespell
|
||||
run: |
|
||||
curl -LsSf https://astral.sh/uv/install.sh | sh
|
||||
uv python install 3.10
|
||||
uv python install 3.11
|
||||
uv add . --dev
|
||||
uv add codespell
|
||||
|
||||
|
4
.github/workflows/pep8-linter.yml
vendored
4
.github/workflows/pep8-linter.yml
vendored
@ -14,11 +14,11 @@ jobs:
|
||||
- name: Set up Python
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: '3.10'
|
||||
python-version: '3.11'
|
||||
- name: Install ruff (a faster flake 8 equivalent)
|
||||
run: |
|
||||
curl -LsSf https://astral.sh/uv/install.sh | sh
|
||||
uv python install 3.10
|
||||
uv python install 3.11
|
||||
uv add . --dev
|
||||
uv add ruff
|
||||
|
||||
|
@ -50,7 +50,7 @@ If it returns 3.10 or newer, no further action is required.
|
||||
|
||||
|
||||
> [!NOTE]
|
||||
> I recommend installing a Python version that is at least 2 versions older than the most recent release to ensure PyTorch compatibility. For example, if the most recent version is Python 3.13, I recommend installing version 3.10 or 3.11.
|
||||
> I recommend installing a Python version that is at least 1-3 versions older than the most recent release to ensure PyTorch compatibility. For example, if the most recent version is Python 3.13, I recommend installing version 3.10, 3.11, or 3.12.
|
||||
|
||||
Otherwise, if Python is not installed or is an older version, you can install it for your operating system as described below.
|
||||
|
||||
@ -62,7 +62,7 @@ Otherwise, if Python is not installed or is an older version, you can install it
|
||||
|
||||
```bash
|
||||
sudo apt update
|
||||
sudo apt install python3.10 python3.10-venv python3.10-dev
|
||||
sudo apt install python3.11 python3.11-venv python3.11-dev
|
||||
```
|
||||
|
||||
<br>
|
||||
@ -246,7 +246,7 @@ conda create -n LLMs python=3.10
|
||||
|
||||
<img src="https://sebastianraschka.com/images/LLMs-from-scratch-images/setup/01_optional-python-setup-preferences/new-env.png" alt="new-env" width="600px">
|
||||
|
||||
> Many scientific computing libraries do not immediately support the newest version of Python. Therefore, when installing PyTorch, it's advisable to use a version of Python that is one or two releases older. For instance, if the latest version of Python is 3.13, using Python 3.10 or 3.11 is recommended.
|
||||
> Many scientific computing libraries do not immediately support the newest version of Python. Therefore, when installing PyTorch, it's advisable to use a version of Python that is one to three releases older. For instance, if the latest version of Python is 3.13, using Python 3.10, 3.11, or 3.12 is recommended.
|
||||
|
||||
Next, activate your new virtual environment (you have to do it every time you open a new terminal window or tab):
|
||||
|
||||
|
@ -53,36 +53,28 @@ powershell -c "irm https://astral.sh/uv/install.ps1 | more"
|
||||
> For more installation options, please refer to the official [uv documentation](https://docs.astral.sh/uv/getting-started/installation/#standalone-installer).
|
||||
|
||||
|
||||
## 2. Install Python
|
||||
|
||||
You can install Python using uv:
|
||||
|
||||
```bash
|
||||
uv python install 3.10
|
||||
```
|
||||
|
||||
|
||||
> [!NOTE]
|
||||
> I recommend installing a Python version that is at least 2 versions older than the most recent release to ensure PyTorch compatibility. For example, if the most recent version is Python 3.13, I recommend installing version 3.10 or 3.11. You can find out the most recent Python version by visiting [python.org](https://www.python.org/downloads/).
|
||||
|
||||
|
||||
## 3. Install Python packages and dependencies
|
||||
## 2. Install Python packages and dependencies
|
||||
|
||||
To install all required packages from a `pyproject.toml` file (such as the one located at the top level of this GitHub repository), run the following command, assuming the file is in the same directory as your terminal session:
|
||||
|
||||
```bash
|
||||
uv add . --dev
|
||||
uv sync --dev --python 3.11
|
||||
```
|
||||
|
||||
> [!NOTE]
|
||||
> If you do not have Python 3.11 available on your system, uv will download and install it for you.
|
||||
>
|
||||
> I recommend using a Python version that is at least 1-3 versions older than the most recent release to ensure PyTorch compatibility. For example, if the most recent version is Python 3.13, I recommend using version 3.10, 3.11, 3.12. You can find out the most recent Python version by visiting [python.org](https://www.python.org/downloads/).
|
||||
|
||||
> [!NOTE]
|
||||
> If you have problems with the following commands above due to certain dependencies (for example, if you are using Windows), you can always fall back to regular pip:
|
||||
> `uv add pip`
|
||||
> `uv run python -m pip install -U -r requirements.txt`
|
||||
|
||||
|
||||
<img src="https://sebastianraschka.com/images/LLMs-from-scratch-images/setup/uv-setup/uv-add.png?1" width="700" height="auto" alt="Uv install">
|
||||
|
||||
Note that the `uv add` command above will create a separate virtual environment via the `.venv` subfolder. (In case you want to delete your virtual environment to start from scratch, you can simply delete the `.venv` folder.)
|
||||
|
||||
Note that the `uv sync` command above will create a separate virtual environment via the `.venv` subfolder. (In case you want to delete your virtual environment to start from scratch, you can simply delete the `.venv` folder.)
|
||||
|
||||
You can install new packages, that are not specified in the `pyproject.toml` via `uv add`, for example:
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user