mirror of
https://github.com/kuitoi/kuitoi-Server.git
synced 2026-02-16 02:20:52 +00:00
[+] Support pip packages
This commit is contained in:
@@ -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"
|
||||
|
||||
@@ -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:
|
||||
|
||||
|
||||
Reference in New Issue
Block a user