Многофункциональный бот для ВКонтакте. В данный момент находится в стадии активной разработки.
poetry env use python3.12
poetry install
poetry run python kali/main.pyWork in progress.
После того, как склонировал этот проект, установи Poetry, если ещё не сделал этого:
curl -sSL https://install.python-poetry.org | python3 -
# Добавить следующую строку в ~/.zshrc или ~/.bashrc в зависимости от своего шелла:
export PATH="/home/vertex/.local/bin:$PATH"При помощи pip:
pip install poetryИли вручную при помощи PowerShell:
(Invoke-WebRequest -Uri https://install.python-poetry.org -UseBasicParsing).Content | py -
# Добавить в PATH следующую строку:
%APPDATA%\Python\Scriptspoetry env use python3.12 Советую также включить хранение venv в директории проекта, чтобы вдруг не потерять его и если вдруг IDE откажется резалвить импорты:
poetry config virtualenvs.in-project trueДля Visual Studio Code в репозитории лежит файл с настройками проекта, где указан путь к Python внутри venv и все модули должны адекватно отображаться, но если вдруг нет, то в настройках проекта укажи путь к Python, параметр Python: Default Interpreter Path, значение .venv/bin/python.
Основные установленные зависимости описываются в pyproject.toml. Все зависимости проекта с конкретными версиями, в том числе дочерние основных, описываются внутри poetry.lock файла. Устанавливаются и удаляются очень просто:
poetry add vkbottle
poetry add vkbottle@^4.3 # конкретная версия
poetry add vkbottle --dev # как dev зависимость (не знаю зачем нам это нужно)
poetry add vkbottle --lock # добавить в poetry.lock, но не устанавливать в среду
poetry remove vkbottleПосмотреть дерево зависимостей можно следующей командой:
poetry show --treeВыполнение команд внутри виртуальной среды осуществляется так:
poetry run <команда>
poetry run python kali/main.py
# или можно войти в шелл используя текущий venv:
poetry shellЕсли вдруг будем публиковать релизы, то собрать проект можно при помощи следующей команды:
poetry buildАртефакты появятся в директории dist в корне проекта.
С ними мы пока ещё не разобрались.