[+] Support pip packages

This commit is contained in:
2024-07-25 17:32:00 +03:00
parent f1f80cc94c
commit 2af4681082
2 changed files with 17 additions and 2 deletions

View File

@@ -9,8 +9,8 @@
__title__ = 'KuiToi-Server'
__description__ = 'BeamingDrive Multiplayer server compatible with BeamMP clients.'
__url__ = 'https://github.com/kuitoi/kuitoi-Server'
__version__ = '0.4.6'
__build__ = 2459 # Я это считаю лог файлами
__version__ = '0.4.7'
__build__ = 2462 # Я это считаю лог файлами
__author__ = 'SantaSpeen'
__author_email__ = 'admin@kuitoi.su'
__license__ = "FPA"

View File

@@ -7,8 +7,11 @@
# Licence: FPA
# (c) kuitoi.su 2023
import asyncio
import importlib
import inspect
import os
import subprocess
import sys
import types
from contextlib import contextmanager
from pathlib import Path
@@ -98,6 +101,18 @@ class KuiToi:
self.log.debug("Requests add_command")
return console.add_command(key, func, man, desc, custom_completer)
def install_and_import(self, package):
self.log.debug(f"Import package: {package}")
try:
# Попробуйте импортировать пакет
importlib.import_module(package)
except ImportError:
# Если пакет не установлен, установите его
subprocess.check_call([sys.executable, "-m", "pip", "install", package])
finally:
# Попробуйте еще раз импортировать пакет
return importlib.import_module(package)
class PluginsLoader: