From 688c1b980e962e19541a696f00c03f19aaa1afb6 Mon Sep 17 00:00:00 2001 From: Catriel Omar D'Elia Date: Fri, 14 Jul 2023 15:47:12 -0300 Subject: [PATCH 1/2] fix: ModuleNotFoundError: No module named 'telegram' MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit la última versión de python_telegram_bot que tiene es la 13.5 https://docs.python-telegram-bot.org/en/v13.15/telegram.chataction.html vs 404: https://docs.python-telegram-bot.org/en/v20.0a0/telegram.chataction.html parece haber sido movida a: https://docs.python-telegram-bot.org/en/latest/telegram.constants.html#telegram.constants.ChatAction pero actualizar requiere más tiempo --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 5551e5f..16165bc 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,5 +1,5 @@ pony -python_telegram_bot +python_telegram_bot==13.5 icalevents pytz requests From b447c0941730a4053764b0e771fd728dc9f04686 Mon Sep 17 00:00:00 2001 From: Catriel Omar D'Elia Date: Sat, 15 Jul 2023 03:23:52 -0300 Subject: [PATCH 2/2] "fix" Unsupported operation: RETURN_GENERATOR si se corre con python3.11 aparece este error: Unsupported operation: RETURN_GENERATOR ... el problema es el ORM pony: https://stackoverflow.com/questions/75907458/unsupported-operation-return-generator-on-select#comment133888098_75907458 parece que no soporta python3.11 se modifica el readme para dar indicaciones utiles --- README.md | 36 +++++++++++++++++++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index a83398b..b1e5573 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,41 @@ Mientras seguimos la migración todos son libres de colaborar con pull requests. Para probar el bot en acción en Telegram es necesario crear un archivo `tokenz.py` que asigne a la variable `token` el token del bot con el que se desea hacer las pruebas. -Para instalar las dependecias correr lo siguiente: +Para instalar las dependencias correr lo siguiente: ```bash $ pip3 install -r requirements.txt ``` + +pero te recomendamos que mejor te armes un ambiente virtual (no es necesario hacerlo cada vez): +```bash +$ python3 -m venv venv +$ venv/bin/pip3 install -r requirements.txt +``` + +para que el bot tenga los comandos hay que instalarlos en la base de datos: +```bash +$ venv/bin/python3 install.py +``` +y ahora si es posible correr el bot: +```bash +$ venv/bin/python3 dcubabot.py +``` + +## notas: +- la librería pony no funciona con python3.11, así que vas a necesitar instalarte python3.10 + tenés muchas alternativas, descargartelo de la web, usar el paquete de tu distro, etc + Otra es usar **guix** que permite además crearte todo el ambiente y tener una shell contenerizada, para instalarlo podés ver el primer link de [la guia de instalación binaria](https://guix.gnu.org/manual/en/html_node/Binary-Installation.html) que apunta a un script que automatiza el proceso. + Luego: + ```bash + guix shell python3.10.7 + ``` + y luego seguir con la instalación del ambiente virtual. + +también podés correr dicha shell en un container, pero en ese caso tenés que instalar más paquetes: + ```bash + guix shell -CN coreutils tzdata python@3.10.7 + ``` + '-C' crea el container y '-N' habilita el uso de la red. + tené en cuenta que vas a tener que recrear el ambiente virtual en estes caso. + +