Skip to content

Installation Failed #70

@chenyushuo

Description

@chenyushuo

I used the scripts/install.sh script from the repository to install TuFT, but since my server cannot access GitHub, the installation of uv failed:

# bash scripts/install.sh

============================================
  TuFT Installer
  Tenant-unified Fine-Tuning Server
============================================

==> Installing with full backend support (GPU, persistence, flash-attn)
==> Installing from PyPI
==> Detected platform: linux (x86_64)
==> Installing uv (Python package manager)...
curl: (60) SSL certificate problem: self-signed certificate in certificate chain
More details here: https://curl.se/docs/sslcerts.html

curl failed to verify the legitimacy of the server and therefore could not
establish a secure connection to it. To learn more about this situation and
how to fix it, please visit the web page mentioned above.

Afterwards, I manually installed uv using pip install uv, which succeeded. Then I ran bash scripts/install.sh again, but encountered another failure when installing flash-attn:

...
==> TuFT installed successfully
==> Installing flash-attn from precompiled wheels...
wheel_url: https://dail-wlcb.oss-cn-wulanchabu.aliyuncs.com/AgentScope/download/flash-attn/2.8.1/flash_attn-2.8.1%2Bcu12torch2.8cxx11abiTRUE-cp312-cp312-linux_x86_64.whl
target_local_file: flash_attn-2.8.1-cp312-cp312-linux_x86_64.whl
--2026-02-02 13:44:16--  https://dail-wlcb.oss-cn-wulanchabu.aliyuncs.com/AgentScope/download/flash-attn/2.8.1/flash_attn-2.8.1%2Bcu12torch2.8cxx11abiTRUE-cp312-cp312-linux_x86_64.whl
Resolving dail-wlcb.oss-cn-wulanchabu.aliyuncs.com (dail-wlcb.oss-cn-wulanchabu.aliyuncs.com)... 39.101.41.132
Connecting to dail-wlcb.oss-cn-wulanchabu.aliyuncs.com (dail-wlcb.oss-cn-wulanchabu.aliyuncs.com)|39.101.41.132|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 126139464 (120M) [application/octet-stream]
Saving to: ‘/tmp/flash_attn-2.8.1-cp312-cp312-linux_x86_64.whl’

/tmp/flash_attn-2.8.1-cp312-cp312-linux_x86_64.whl                    100%[=======================================================================================================================================================================>] 120.30M   165MB/s    in 0.7s    

2026-02-02 13:44:16 (165 MB/s) - ‘/tmp/flash_attn-2.8.1-cp312-cp312-linux_x86_64.whl’ saved [126139464/126139464]

warning: The `extra-build-dependencies` option is experimental and may change without warning. Pass `--preview-features extra-build-dependencies` to disable this warning.
error: No virtual environment found; run `uv venv` to create an environment, or pass `--system` to install into a non-virtual environment
Traceback (most recent call last):
  File "/root/.tuft/scripts/install_flash_attn.py", line 63, in <module>
    subprocess.run(["uv", "pip", "install", local_path], check=True)
  File "/usr/lib/python3.12/subprocess.py", line 571, in run
    raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['uv', 'pip', 'install', '/tmp/flash_attn-2.8.1-cp312-cp312-linux_x86_64.whl']' returned non-zero exit status 2.
Warning: flash-attn installation failed. This is optional, so installation will continue.
==> Creating tuft command wrapper...
==> Wrapper script created at /root/.tuft/bin/tuft
...

Upon inspection, I found that the uv command was missing from ~/.tuft/venv/, which caused the flash-attn installation to fail.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions