For AI beginners, deploying AI software from source code can be challenging. With a pre-packaged bundle, you just need to download, extract, and double-click to use, greatly lowering the barrier to entry. However, sometimes a ready-made package may not be available or may not be updated in time. In such cases, you can try creating your own package and share it with others.
Since AI project models are typically very large, and with GPU support, even when compressed into 7z format, the file size can far exceed 5GB, making it difficult to upload to cloud storage or store. Therefore, I no longer create packages. If you're interested, you can follow this tutorial to make your own package and share it.
This tutorial uses F5-TTS as an example to create a package on Windows 10 with Python 3.10. The main steps are:
- Download Python 3.10 embed version (not the exe installer, but a zip package).
- Install pip and set the dependency lookup path for the project.
- Download F5-TTS source code.
- Install F5-TTS dependency modules.
- Create a one-click startup script and set the model directory to the project folder.
- Configure a proxy to download models.
- Run one cloning task to complete downloads like Whisper model.
- Compress into a package.
- Create packages for other AI projects.
Preparation Before Starting:
First, create an empty folder. To avoid errors, it's recommended to create an English-named folder on a non-system drive, such as D:\f5win. This article uses D:\f5win as an example. Then, create another empty folder runtime inside it to store the Python 3.10 embed version files you'll download later.
Before starting, be sure to click "View" in the folder navigation bar and check "File name extensions." Otherwise, subsequent steps may go wrong, especially for those unfamiliar with file extensions.

1. Download Python 3.10 Embed Version
Important Note: Here, you download the embed version, not the exe installer. This version does not rely on your local Python environment; even if Python is already installed on your machine, you still need to download this version.
Download URL: 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. You'll get a zip file.
Be sure to download this version; don't get it wrong!
After downloading, extract the zip file and copy all the files inside to the
runtimefolder you created earlier. It should look like this:
2. Install pip and Modify Package Search Path
The embed version of Python does not include the pip module, so it needs to be installed manually.
Install pip:
Open this URL: https://bootstrap.pypa.io/get-pip.py
Right-click and save the file to the
runtimedirectory. After saving, there should be a file namedget-pip.pyin theruntimefolder.


In the address bar of the
runtimefolder, typecmdand press Enter to open a terminal window (black window).
In the terminal window, type the command
.\python get-pip.pyand press Enter. Be sure the current folder address shown in the command line is inside theruntimefolder; otherwise, it will fail.Wait for the installation to complete...

The pip module is successfully installed!

Modify the
python310._pthfile:In the
runtimefolder, find the file namedpython310._pth, right-click and open it with Notepad.
On the line below the dot
.in the second line, add the following three lines:./Lib/site-packages ../src ../src/f5_ttsSave the file. The modified file content should look like this; check carefully to ensure it's correct:

3. Download F5-TTS Source Code
Open the F5-TTS project GitHub repository: https://github.com/SWivid/F5-TTS
Download the source code zip package.

Extract the downloaded zip file and copy all files from the
F5-TTS-mainfolder into theD:\f5winfolder. Note: Copy the files inside, not the entireF5-TTS-mainfolder.
After extraction, the contents of the
D:\f5winfolder should look like this:
Return to the Previous CMD Window
Still in the same terminal window, execute the
cd ../command to ensure the address in the command prompt has lost theruntimepart, changing to the following. All subsequent operations should be performed in theD:/f5windirectory.

4. Install Dependency Modules
Return to the cmd terminal window and confirm again that the current path shown is
D:\f5win(withoutruntime).Execute the following command to install dependencies (pay attention to spaces and the dot):
.\runtime\python -m pip install -e .
Wait for the installation to complete...

- If you want the package to support NVIDIA GPUs (optional): Continue by executing the following command to install the CUDA version of PyTorch and torchaudio (pay attention to spaces and the dot; the command should not be line-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, models are saved to the user directory on the C drive. For easier packaging, we need to download models into the package directory.
- In the
D:\f5winfolder, right-click -> New -> Text Document to create arun.txtfile. 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 models to the
modelsfolder in the current directory, then start the web interface and automatically open it in the browser.
After saving the file, rename
run.txttorun.bat. A warning will pop up; select "Yes." If no warning appears, you made an error in modification; check if file extensions are displayed.
6. Configure Proxy Environment
Due to network restrictions in some regions, you cannot directly access Hugging Face (huggingface.co), where F5-TTS models are hosted. Therefore, you need to configure a proxy and set it as the system proxy.
For example, if using a tool like v2ray, you can set it up like this:

After configuration, double-click the run.bat file you created earlier.
If double-clicking opens the file directly in Notepad, it means you failed to change the extension. Go back to the preparation section at the top and follow the instructions to enable file extensions.
If double-clicking opens a black window, it will start downloading models to the
D:\f5win\modelsfolder.
If you see an error similar to the one below, it means you haven't configured the proxy properly or set it as the system proxy, preventing connection to Hugging Face to download models.

Sometimes the download fails halfway through, mostly due to an unstable proxy node. Try switching to a more stable proxy or node.
After the models are downloaded, a browser window will open automatically.

7. Run One Cloning Task to Download Whisper Model
During voice cloning, if no text corresponding to the reference audio is provided, F5-TTS will automatically download the Whisper model from Hugging Face. To make the package complete, we need to download it in advance.
In the automatically opened web window, select a clean 5-10 second reference audio, enter the text you want to synthesize (e.g., "Hello friend"), and click "Synthesize."

This will start downloading the Whisper model.

When synthesis is successful and no errors occur, you can start packaging the project into a bundle.

8. Compress into a Package
- Before compressing, you can rename
run.batto something likeClick Me to Start.batto make it easier for novice users to understand. - Compress the entire
D:\f5winfolder into a zip file, or into a smaller 7z file. - Share the compressed package with others. They can extract it and double-click
run.bat(orClick Me to Start.bat) to use it.

9. How to Create Packages for Other AI Projects
Most open-source Python-based projects on GitHub can be packaged using a similar method. The main differences lie in the following three points:
Python Version: Python 3.10 is the most universal version, suitable for most projects. If a project has specific requirements (e.g., 3.11 or 3.12), you can find the corresponding version's
Windows embeddable package (64-bit)on this page: https://www.python.org/downloads/windows/. Be sure not to download the exe installer.Content of the
python310._pthfile:./Lib/site-packagesis still required.- Add other paths based on the project's actual structure.
- If the project has a code directory named
cfg, add a line../cfg. - If the project has a
srcdirectory with subfolders, continue adding lines like../src/subdirectory_name.
Startup command in the
run.batscript:- Only this line needs to be modified:
"%~dp0runtime\python" -m f5_tts.infer.infer_gradio --inbrowser - The
"%~dp0runtime\python"part remains the same; change the rest to the corresponding project's startup command (excludingpython). - If in doubt, you can provide the content of
run.batand the target project's startup command to an AI and ask it to generate a new startup script following therun.batformat. Remember to tell the AI to use the Python interpreter fromrun.bat.
- Only this line needs to be modified:
