Topic: errore codice con libreria chatterbot  (Letto 81 volte)

0 Utenti e 1 Visitatore stanno visualizzando questo topic.

Offline Claudix29

  • python unicellularis
  • *
  • Post: 5
  • Punti reputazione: 0
    • Mostra profilo
errore codice con libreria chatterbot
« il: Settembre 29, 2020, 22:34 »
ho provato ad eseguire questo codice:

from chatterbot import ChatBot
from chatterbot.trainers import ListTrainer
from chatterbot.response_selection import get_first_response
from chatterbot.comparisons import levenshtein_distance

import logging

logging.basicConfig(level=logging.CRITICAL)


bot = ChatBot(
    "Chappie",
    storage_adapter = "chatterbot.storage.SQLStorageAdapter",
    database = "./db.sqlite3",
    logic_adapters = [
        "chatterbot.logic.BestMatch"
    ],
    statement_comparison_function = levenshtein_distance,
    response_selection_method = get_first_response
)


with open("/home/claudix29/Desktop/chat.txt") as f:
    conversation = f.readlines()
    trainer = ListTrainer(bot)
    trainer.train(conversation)


while True:
    try:
        user_input = input("Tu: ")
        bot_response = bot.get_response(user_input)
        print("Chappie: ", bot_response)
    except(KeyboardInterrupt, EOFError, SystemExit):
        print("GoodBye!")
        break


e ricevo questo errore:Traceback (most recent call last):
  File "chatterbot.py", line 2, in <module>
    from chatterbot import ChatBot
  File "/home/claudix29/Desktop/chatterbot.py", line 2, in <module>
    from chatterbot import ChatBot
ImportError: cannot import name 'ChatBot' from partially initialized module 'chatterbot' (most likely due to a circular import) (/home/claudix29/Desktop/chatterbot.py)

cosa puo essere? grazie

Offline nuzzopippo

  • python neanderthalensis
  • ****
  • Post: 291
  • Punti reputazione: 0
    • Mostra profilo
Re:errore codice con libreria chatterbot
« Risposta #1 il: Settembre 30, 2020, 08:33 »
ho provato ad eseguire questo codice:
....
e ricevo questo errore:Traceback (most recent call last):
  File "chatterbot.py", line 2, in <module>
    from chatterbot import ChatBot
  File "/home/claudix29/Desktop/chatterbot.py", line 2, in <module>
    from chatterbot import ChatBot
ImportError: cannot import name 'ChatBot' from partially initialized module 'chatterbot' (most likely due to a circular import) (/home/claudix29/Desktop/chatterbot.py)

cosa puo essere? grazie

Sul Tuo desktop (che non si sa perché è nel PYTHONPATH) è presente un file python che si chiama "chatterbot", come la libreria, viene importato quel file invece della libreria, con conseguenti "rogne".

Tale faccenda viene definita import circolare (od anche "name shadowing" a volte) ed è piuttosto frequente tra gli iniziandi, tant'è che il buon @RicPol si è preso il disturbo di scrivere una buona guida in merito, Ti suggerirei di leggerla (assieme al resto del blog) è molto utile.

Ciao :)

P.S. : per gli altri Tuoi post, nessuna idea in merito, non conosco entrambi gli elementi in gioco ... ma evita il cross-posting
« Ultima modifica: Settembre 30, 2020, 08:36 da nuzzopippo »

Offline Claudix29

  • python unicellularis
  • *
  • Post: 5
  • Punti reputazione: 0
    • Mostra profilo
Re:errore codice con libreria chatterbot
« Risposta #2 il: Settembre 30, 2020, 13:49 »
ho provato ad eseguire questo codice:
....
e ricevo questo errore:Traceback (most recent call last):
  File "chatterbot.py", line 2, in <module>
    from chatterbot import ChatBot
  File "/home/claudix29/Desktop/chatterbot.py", line 2, in <module>
    from chatterbot import ChatBot
ImportError: cannot import name 'ChatBot' from partially initialized module 'chatterbot' (most likely due to a circular import) (/home/claudix29/Desktop/chatterbot.py)

cosa puo essere? grazie

Sul Tuo desktop (che non si sa perché è nel PYTHONPATH) è presente un file python che si chiama "chatterbot", come la libreria, viene importato quel file invece della libreria, con conseguenti "rogne".

Tale faccenda viene definita import circolare (od anche "name shadowing" a volte) ed è piuttosto frequente tra gli iniziandi, tant'è che il buon @RicPol si è preso il disturbo di scrivere una buona guida in merito, Ti suggerirei di leggerla (assieme al resto del blog) è molto utile.

Ciao :)

P.S. : per gli altri Tuoi post, nessuna idea in merito, non conosco entrambi gli elementi in gioco ... ma evita il cross-posting
grazie mille, verifico subito se funziona,e scusi, inizialmente avevo postato per errore in un altra categoria, e non riuscivo ad eliminare il post