Это python, а не Майн или пхп. Хотя… Так и сделаю
Сидите в своем питомнике Python-сообщество
Использование виртуальных окружений решает данные проблемы.
Poetry как раз для этого и был, поэтому используй для каждого свой)
Если с poetry не справишься, или придешь к выводу что в твоем проекте он чрезмерный, то venv есть
если это разные проекты, то для каждого использовать своё виртуальное окружение
если это конфликт версий транзитивных зависимостей в одном проекте, то удачи тебе жонглировать версиями
Спасибо
ищи такие версии vkbottle и aiogram, которые используют одинаковые или хотя бы совместимые версии своих общих зависимостей
Не, я лучше всё таки создам отдельные окружения для каждого бота. Спасибо за советы @TEANUS @Bestaford
Помнишь, я раньше захотел написать ркон бота который будет работать на вк, тг и дс? (Хз) Про окружения я полностью в курсе, но всё же решился поэкспериментировать и запихнуть всех в одну работу поделив на потоки
import subprocess
import signal
def signal_handler(sig, frame):
print("Выход...")
for process in processes:
process.send_signal(signal.CTRL_BREAK_EVENT)
processes = []
try:
script_directories = [
("path\vk", "vk_bot.py"),
("path\tg", "tg_bot.py")
]
for directory, script in script_directories:
subprocess.Popen(f"call {directory}/venv/Scripts/activate.bat", shell = True, executable = "cmd.exe")
process = subprocess.Popen(["python", f"{directory}/{script}"])
processes.append(process)
for process in processes:
process.wait()
except KeyboardInterrupt:
signal.signal(signal.CTRL_C_EVENT, signal_handler)
Молюсь чтобы сработало с первой попытки