Skip to content

For AI beginners, deploying an AI software from source code can be challenging. With a package, you only need to download, unzip, and double-click to use it, greatly reducing the barrier to entry. However, sometimes you may not find an existing package or the package is not updated in time. At this point, you can try creating your own package and sharing it with others.

Since AI project models are usually very large, plus GPU support, even compressed into 7z format, the file size may far exceed 5GB, making it difficult to upload to cloud storage and store. Therefore, I no longer create packages. If you are interested, you can create your own package according to this tutorial and share it with others.

This tutorial uses F5-TTS as an example, using Python 3.10 on Windows 10 to create a package. The main steps are as follows:

  1. Download the Python 3.10 embed version (not the exe installer, but a zip archive).
  2. Install pip and set the dependency lookup path for the project.
  3. Download the F5-TTS source code.
  4. Install the dependency modules of F5-TTS.
  5. Create a one-click startup script and set the model directory to the project directory.
  6. Configure a proxy to download the model.
  7. Perform a clone task to complete the download of Whisper and other models.
  8. Compress into a package.
  9. Create packages for other AI projects

Preparations Before Starting:

First, create an empty folder. To avoid errors, it is recommended to create an English folder on a non-system drive, such as D:\f5win. This article uses D:\f5win as an example, and then creates an empty folder runtime inside that folder to store the Python 3.10 embed version files downloaded later.

Before you start, be sure to click "View" in the folder navigation bar, and then check "File name extensions", otherwise it is easy to make mistakes in subsequent operations, especially for friends who are not familiar with extensions.

显示文件扩展名


1. Download the Python 3.10 embed Version

Important Note: Here you download the embed version, not the exe installation version. This version does not depend on your machine's Python environment, even if you have already installed Python on your machine, you still need to download this version.

  • Download address: https://www.python.org/downloads/release/python-31011/

  • After opening the webpage, scroll to the bottom and click Windows embeddable package (64-bit) to download. After downloading, you get a zip archive.

    下载Python embed版本

    Be sure to download this version, don't get it wrong!

  • After the download is complete, unzip the zip archive and copy all the files inside to the runtime folder you created earlier. As shown below:

    Python embed文件复制到runtime文件夹内


2. Install pip and Modify the Package Search Path

The embed version of Python does not include the pip module, so you need to install it manually.

  • Install pip:

    • Open this address: https://bootstrap.pypa.io/get-pip.py

    • Right-click and save as, save the file to the runtime directory. After saving, the runtime folder should have a file named get-pip.py.

      下载get-pip.pyget-pip.py文件runtime目录下的get-pip.py

    • Enter cmd in the address bar of the runtime folder and press Enter to open a terminal window (black window).

      打开cmd,并确认路径是否在runtime内

    • In the terminal window, enter the command .\python get-pip.py and press Enter. Be sure to note whether the current folder address displayed in the command line is in the runtime folder, otherwise it will be wrong.

      Waiting for installation to complete...

      pip安装中

      The pip module is installed successfully!

      pip 模块安装成功

  • Modify the python310._pth file:

    • Find the file named python310._pth in the runtime folder, right-click and open it with Notepad.

      python310._pth文件内默认内容

    • On the line below the dot symbol . on the second line, add the following three lines:

      ./Lib/site-packages
      ../src
      ../src/f5_tts
    • Save the file. The modified file content should be as follows, please check carefully to ensure it is correct:

      修改后的python310._pth文件内容应如下


3. Download the F5-TTS Source Code

  • Open the F5-TTS project's GitHub repository: https://github.com/SWivid/F5-TTS

  • Download the zip archive of the source code.

    下载F5-TTS源码

  • Unzip the downloaded zip package and copy all the files in the F5-TTS-main folder to the D:\f5win folder. Note: Copy the files inside, not the entire F5-TTS-main folder.

    复制F5-TTS-main内文件

    After decompression, the content of the D:\f5win folder should be as shown below:

    正确复制后的D:5win目录结构


Return to the previous CMD window

Still in the terminal window just now, execute the cd ../ command to ensure that the address before the command line has reduced the runtime characters and becomes as follows. The following operations must be performed in the D:/f5win directory

4. Install Dependency Modules

  • Return to the cmd terminal window and confirm again that the path displayed in the current command line is D:\f5win (without runtime).

  • Execute the following command to install dependencies (note the spaces and dot symbols):

    .\runtime\python -m pip install -e .

    安装依赖中

    Waiting for installation to complete...

所有依赖安装完成

  • If you want the package to support NVIDIA graphics cards (optional): Continue to execute the following command to install the CUDA version of PyTorch and torchaudio (note the spaces and dot symbols, the command cannot be wrapped):
    .\runtime\python -m pip install torch==2.4.0+cu124 torchaudio==2.4.0+cu124 --extra-index-url https://download.pytorch.org/whl/cu124

5. Create a One-Click Startup Script

By default, the model is saved to the user directory on the C drive. For the convenience of integration, we need to download the model into the package.

  • Right-click -- New -- Text Document in the D:\f5win folder, create a run.txt file, open it with Notepad, and enter the following code:

bat
    @echo off

    chcp 65001 > nul

    set "HF_HOME=%~dp0models"
    set "MODELSCOPE_CACHE=%~dp0models"

    echo HF_HOME: %HF_HOME%
    echo MODELSCOPE_CACHE: %MODELSCOPE_CACHE%

    "%~dp0runtime\python" -m f5_tts.infer.infer_gradio  --inbrowser

    pause

The above script means: save the model to the models folder in the current directory, then start the web interface and automatically open it in the browser

  • After saving the file, rename run.txt to run.bat. At this time, a warning will pop up, select "Yes". If no warning pops up, it means you made a mistake, please check whether the file extension is displayed.

    重命名为run.bat的警告弹窗


6. Configure Scientific Internet Access Environment

Due to the restrictions of the domestic network environment, you cannot directly access the Hugging Face (huggingface.co) where the F5-TTS model is located. Therefore, you need to configure a scientific Internet access environment and set it as a system proxy.

For example, if the tool is v2ray, you can set it like this:

v2ray中设置为系统代理

After the configuration is complete, double-click the run.bat file you just created.

  • If the file is opened directly with Notepad after double-clicking, it means you failed to modify the extension, please return to the beginning of this article to prepare and select the file extension according to the instructions

  • If a black window opens after double-clicking, the model will start downloading to the D:\f5win\models folder.

    下载模型中

  • If an error like the following occurs, it means that you have not configured the scientific Internet access environment properly, or have not correctly set it as a system proxy, resulting in a failure to connect to Hugging Face to download the model.

    下载模型错误:无法连接到huggingface.co

    Sometimes the download fails halfway, the biggest reason is that your proxy node is unstable, please replace it with a more stable proxy or node

  • After the model is downloaded, the browser window will open automatically. 模型下载完毕,自动打开浏览器


7. Perform a Clone Task to Download the Whisper Model

When performing voice cloning, if the text corresponding to the reference audio is not provided, F5-TTS will automatically download the Whisper model from Hugging Face. In order to pack completely, we need to download it in advance.

  • In the automatically opened Web window, select a clean reference audio of 5-10 seconds, enter the text you want to synthesize (for example, "Hello friend"), and then click "Synthesize".

    Web界面

  • This will start downloading the Whisper model.

    下载Whisper模型中

  • When the synthesis is successful and there are no errors, you can start packaging the project into a package.


8. Compress into a Package

  • Before compressing, you can rename run.bat to Click Me to Start.bat to make it easier for novice users to understand.
  • Compress the entire D:\f5win folder into a zip file, or compress it into a smaller 7z file.
  • Share the compressed package with others, they can unzip it and double-click run.bat (or Click Me to Start.bat) to use it.


9. How to Create Packages for Other AI Projects

Most Python-based open source projects on GitHub can use similar methods to create packages. The main differences are in the following three points:

  1. Python Version: Python 3.10 is the most common version and is suitable for most projects. If the project has special requirements (such as 3.11 or 3.12), you can find the corresponding version of Windows embeddable package (64-bit) on this page https://www.python.org/downloads/windows/. Be sure not to download the exe installer.

  2. The content of the python310._pth file:

    • ./Lib/site-packages is still required.
    • Other paths are added according to the actual situation of the project.
    • If there is a code directory named cfg in the project, add a line ../cfg.
    • If the project has a src directory and there are other folders under src, continue to add ../src/directory name.
  3. The startup command of the run.bat script:

    • You only need to modify this line of command:
      "%~dp0runtime\python" -m f5_tts.infer.infer_gradio  --inbrowser
    • The "%~dp0runtime\python" part remains unchanged, and the part after it is changed to the command to start the corresponding project (not including python).
    • If you have any questions, you can give the content of run.bat and the startup command of the corresponding project to AI, and let it imitate run.bat to give a new startup script. Remember to tell AI to use the Python interpreter in run.bat.