IIC2613-Inteligencia-Artificial-2021-2 / Syllabus

Repositorio base del curso, donde se publicarán enunciados, ayudantías y se resolverán dudas.
32 stars 6 forks source link

Error en mypy al correr el hook pre-commit #72

Closed jiaranda closed 2 years ago

jiaranda commented 2 years ago

Al intentar hacer un commit con el hook pre-commit me muestra el siguiente error:

Main type-checks
  File "./main.py", line 26
    def solve(algorithm_class, problem: Problem, heuristic_class):
                                      ^
SyntaxError: invalid syntax
Main failed. Aborting commit.

Para verificar, cloné el repo Search-py del curso y corrí el script, obteniendo el mismo error con el código base de la tarea.

Este es el output completo, en caso de que sirva de algo:

All done! ✨ 🍰 ✨
32 files would be left unchanged.
Formatting passed
============================= test session starts ==============================
platform linux -- Python 3.8.10, pytest-6.2.5, py-1.10.0, pluggy-1.0.0
rootdir: /home/jiaranda/javier/UC/inteligencia-artificial/tarea-1-2021-2-jiaranda
collected 45 items

data_structures/heap_test.py ...                                         [  6%]
data_structures/intrusive_heap_test.py ...                               [ 13%]
search/algorithms/astar_test.py ...                                      [ 20%]
search/algorithms/bfs_test.py ..                                         [ 24%]
search/algorithms/dfs_test.py ..                                         [ 28%]
search/algorithms/dijkstra_test.py ..                                    [ 33%]
search/algorithms/greedy_test.py ...                                     [ 40%]
search/algorithms/iddfs_test.py sss                                      [ 46%]
search/problems/nm_puzzle_test.py .......                                [ 62%]
search/problems/grid/board2d_test.py .....                               [ 73%]
search/problems/grid/bomb_test.py .....                                  [ 84%]
search/problems/grid/sokoban_test.py .......                             [100%]

=============================== warnings summary ===============================
data_structures/intrusive_heap_test.py:6
  /home/jiaranda/javier/UC/inteligencia-artificial/tarea-1-2021-2-jiaranda/data_structures/intrusive_heap_test.py:6: PytestCollectionWarning: cannot collect test class 'TestNode' because it has a __init__ constructor (from: data_structures/intrusive_heap_test.py)
    class TestNode(IntrusiveHeap.Node):

-- Docs: https://docs.pytest.org/en/stable/warnings.html
=================== 42 passed, 3 skipped, 1 warning in 0.19s ===================
Tests passed
Success: no issues found in 1 source file
Main type-checks
  File "./main.py", line 26
    def solve(algorithm_class, problem: Problem, heuristic_class):
                                      ^
SyntaxError: invalid syntax
Main failed. Aborting commit.

¿Qué deberíamos hacer?

Dietr1ch commented 2 years ago

Parece ser un problema de tu ambiente, qué versión de mypy y black usas? Soportan Python 3.7?.

jiaranda commented 2 years ago

Uso las versiones más nuevas de mypy y black. mypy: 0.910 black: 21.9b0 python: 3.8.10

Sigo con este error y no sé si mi código va a pasar los checks de formato y tipos.

jiaranda commented 2 years ago

Ya encontré el error. Simplemente cuando corro esos comandos usan python2, para correrlos bien debo usar python3 como: python3 -m mypy