Spaces:
Build error
Build error
** Thanks for Son Tran for the fixes on the installation guide. Here are the recommanded steps for installing ShortGPT: | |
### You now need Docker to now run ShortGPT. If you can't run it with docker, please use the Google Colab. | |
# To run ShortGPT docker: | |
First make a .env file with the API keys like this: | |
```bash | |
OPENAI_API_KEY=sk-_put_your_openai_api_key_here | |
ELEVENLABS_API_KEY=put_your_eleven_labs_api_key_here | |
PEXELS_API_KEY=put_your_pexels_api_key_here | |
``` | |
To run Dockerfile do this: | |
```bash | |
docker build -t short_gpt_docker:latest . | |
docker run -p 31415:31415 --env-file .env short_gpt_docker:latest | |
``` | |
Export Docker image: | |
```bash | |
docker save short_gpt_docker > short_gpt_docker.tar | |
``` | |
### Here are the steps to install it from scratch on Linux, Debian 11 x64: | |
In short, you need to use: | |
- Python 3.11.3 | |
- openai package 0.28.0, then upgrade openai-whisper | |
- ffmpeg 4.2.3 | |
- ImageMagick 7.1.1 | |
### 1. OS: Debian 11 x64 | |
```bash | |
sudo apt update && sudo apt upgrade | |
sudo apt install wget git libltdl-dev libjpeg-dev libpng-dev libtiff-dev libgif-dev libfreetype6-dev liblcms2-dev libxml2-dev wget build-essential libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev libffi-dev zlib1g-dev | |
``` | |
### 2. Install Python version: 3.11.3 | |
```bash | |
wget https://www.python.org/ftp/python/3.11.3/Python-3.11.3.tgz | |
tar xzf Python-3.11.3.tgz | |
cd Python-3.11.3 | |
./configure --enable-optimizations | |
make install | |
``` | |
To check the Python version, use this command: | |
```bash | |
python3.11 -V | |
``` | |
To use pip, use this command: | |
```bash | |
pip3.11 install <package-name> | |
``` | |
### 3. Install ffmpeg version: 4.2.3 | |
ShortGPT will accept this version of FFmpeg: | |
3.1. Install Build Dependencies: | |
```bash | |
sudo apt update | |
sudo apt build-dep ffmpeg | |
``` | |
3.2. Clone FFmpeg Source Code: | |
```bash | |
git clone https://git.ffmpeg.org/ffmpeg.git | |
cd ffmpeg | |
git checkout n4.2.3 | |
``` | |
3.3. Configure FFmpeg Build: | |
```bash | |
./configure --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libdav1d --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libmfx --enable-avisynth --enable-libopenmpt --enable-shared --disable-static | |
``` | |
This step checks for the necessary dependencies and configures the build based on your system. | |
3.4. Build FFmpeg: | |
```bash | |
make -j$(nproc) | |
``` | |
This step may take some time as it compiles the FFmpeg source code. | |
3.5. Install FFmpeg: | |
```bash | |
sudo make install | |
``` | |
3.6. Verify Installation: | |
```bash | |
ffmpeg -version | |
``` | |
This should display the version information, and you should see version 4.2.3. | |
Optional: Update Library Cache: | |
```bash | |
sudo ldconfig | |
``` | |
This updates the dynamic linker run-time bindings. | |
That's it! You should now have FFmpeg version 4.2.3 installed on your Debian 11 system. | |
If you are still facing with "libavdevice.so.58" error when running ffmpeg, run this command to fix it, remember to change the path: | |
```bash | |
echo 'export LD_LIBRARY_PATH=/usr/local/lib:/usr/local/lib64/:/usr/local/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH' >> ~/.bashrc | |
source ~/.bashrc | |
``` | |
### 4. Install ImageMagick 7.1.1: | |
4.1. Clone ImageMagick: | |
```bash | |
sudo git clone https://github.com/ImageMagick/ImageMagick.git | |
``` | |
4.2. Go to the ImageMagick folder and run configuration: | |
```bash | |
cd ImageMagick | |
./configure | |
``` | |
4.3. Make: | |
```bash | |
sudo make | |
``` | |
4.4. Install complied code: | |
```bash | |
sudo make install | |
``` | |
4.5. Update path: | |
```bash | |
sudo ldconfig /usr/local/lib | |
``` | |
4.6. (Optional) Check version | |
```bash | |
$ magick -version | |
``` | |
4.7. Fix Imagemagick policy.xml bug on Linux using MoviePy | |
```bash | |
!sed -i '/<policy domain="path" rights="none" pattern="@\*"/d' /etc/ImageMagick-6/policy.xml | |
``` | |
### 5. Upgrade openai-whisper: | |
```bash | |
pip3.11 install -U openai-whisper | |
``` | |
### 6. (Optional) Install torch 2.1.0: | |
```bash | |
pip3.11 install torch==2.1.0 | |
``` | |
### 7. This is a list of Python lib and their versions, I'm using them without errors: | |
```bash | |
edge-tts==6.1.9 | |
ffmpeg==1.4 | |
ffmpeg-python==0.2.0 | |
gradio==3.38.0==3.38.0 | |
moviepy==1.0.3==1.0.3 | |
openai==0.28.1==0.28.1 | |
pillow==9.0.0==9.0.0 | |
proglog==0.1.10 | |
progress==1.6 | |
protobuf==3.20.3==3.20.3 | |
python-dotenv==1.0.0 | |
questionary==2.0.1 | |
tiktoken==0.5.1 | |
tinydb==4.8.0 | |
tinymongo==0.2.0 | |
torch==2.1.0 | |
torchaudio==2.1.0 | |
whisper-timestamped==1.12.20 | |
yt-dlp==2023.10.13 | |
``` | |