В Ubuntu 18.04 используется Python-3.6, а TVLINK использует Python-3.7. Поэтому, сначала установим Python-3.7.
Выполните последовательно команды в терминале (действия показаны от «root»):
apt install software-properties-common -y
add-apt-repository ppa:deadsnakes/ppa
apt install python3.7 libpython3.7 -y
cd /usr/lib/x86_64-linux-gnu
ln -s libpython3.7m.so.1.0 libpython3.7.so.1.0
add-apt-repository ppa:nilarimogard/webupd8
apt install python3-pycountry python3-requests python3-socks python3-websocket python3-pycryptodome python3-isodate -y
apt install rename
cd /usr/lib/python3/dist-packages
ln -s Cryptodome Crypto
cd Cryptodome
find -name *cpython-36m-x86_64-linux-gnu.so -exec rename 's/\.cpython-36m-x86_64-linux-gnu//gi' '{}' \;
update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.6 1
update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.7 2
Проверим, что python3.7 используется по умолчанию:
update-alternatives --config python3
Если вывод будет таким:
Есть 2 варианта для альтернативы python3 (предоставляет /usr/bin/python3).
Выбор Путь Приор Состояние
------------------------------------------------------------
* 0 /usr/bin/python3.7 2 автоматический режим
1 /usr/bin/python3.6 1 ручной режим
2 /usr/bin/python3.7 2 ручной режим
Press <enter> to keep the current choice or type selection number
просто нажмите <enter>, в ином случае выберите нужный вариант (0, 1, 2) с "/usr/bin/python3.7".
Проверим еще раз версию:
вывод должен показать, что Ubuntu использует именно Python-3.7:
root@test:/# python3 -V
Python 3.7.9
Установим "pip" и последние зависимости:
wget https://bootstrap.pypa.io/get-pip.py
python3 get-pip.py
apt purge python3-lxml -y
pip install lxml
pip install pycountry
Для нормальной работы TVLINK требуется Sqlite не ниже версии 3.30. Для Ubuntu-18.04 нет готового пакета, поэтому установим вручную:
mkdir -p /src && cd /src
apt install build-essential tclsh -y
wget https://www.sqlite.org/2020/sqlite-autoconf-3340000.tar.gz
tar xzf sqlite-autoconf-3340000.tar.gz
cd sqlite-autoconf-3340000
export CFLAGS="-DSQLITE_ENABLE_FTS3 \
-DSQLITE_ENABLE_FTS3_PARENTHESIS \
-DSQLITE_ENABLE_FTS4 \
-DSQLITE_ENABLE_FTS5 \
-DSQLITE_ENABLE_JSON1 \
-DSQLITE_ENABLE_LOAD_EXTENSION \
-DSQLITE_ENABLE_RTREE \
-DSQLITE_ENABLE_STAT4 \
-DSQLITE_ENABLE_UPDATE_DELETE_LIMIT \
-DSQLITE_SOUNDEX \
-DSQLITE_TEMP_STORE=3 \
-DSQLITE_USE_URI \
-O2 \
-fPIC"
./configure --enable-shared --prefix=/usr
make
make install
cp -fP /src/sqlite-autoconf-3340000/.libs/libsqlite3.so* /usr/lib/x86_64-linux-gnu
Теперь все готово для запуска TVLINK.