Невозможно импортировать имя «CSP» из библиотеки csp.

Я выполняю следующий код:

      from typing import Dict,List,Optional

from csp import CSP
from constraint import Constraint
from typing import Dict,List,Optional

class QueensConstraint(Constraint[int,int]):
    def __init__(self,columns:List[int])->None:
        super().__init__(columns)
        self.columns: List[int]=columns
            
    def satisfied(self,assignment: Dict[int,int])->bool:
        for q1c,q1r in assignment.items():
            for q2c in range(q1c+1,len(self.columns)+1):
                q2r: int=assignment[q2c]
                if q1r==q2r:
                        return False
                if abs(q1r-q2r)==abs(q1c-q2c):
                        return False
                    
        return True
    
if __name__=="__main__":
    columns: List[int]=[1,2,3,4,5,6,7,8]
    for column in columns:
            rows[column]=CSP(columns,rows)
            csp.add_constraint(QueensConstraint(columns))
            solution: Optional[Dict[int,int]]=csp.backtracking_search()
            if solution is None:
                    print("no solution found.")
            else:
                    print(solution)

и он показывает следующую ошибку:

      ImportError                               Traceback (most recent call last)
Cell In[16], line 3
      1 from typing import Dict,List,Optional
----> 3 from csp import CSP
      4 from constraint import Constraint
      5 from typing import Dict,List,Optional

ImportError: cannot import name 'CSP' from 'csp' (c:\users\xxxxx\appdata\local\programs\python\python38\lib\site-packages\csp\__init__.py)

Я установил следующие библиотеки, чтобы попытаться выполнить код, но все равно показывает ту же ошибку:
1. Python-ограничение

2. csp

3. печатать

1 ответ

Получил ту же проблему и работает:pip install cspрешил это.

Другие вопросы по тегам