Método ejecutado dos veces en python

Tengo la siguiente clase con un método estático:

class Helper: @staticmethod def LookForCuiInLocal(disease, language): conn = mysql.connector.connect(stuff here) cursor = conn.cursor(buffered=True) findLocalQuery = ("SELECT umls_concept_id from translation WHERE source_text = '{}'".format(disease)) print("hey") try: cursor.execute(findLocalQuery) resultList = cursor.fetchone()[0] cursor.close() conn.close() return resultList except (mysql.connector.Error, TypeError) as e: print("Error when finding local CUI : {}".format(e)) return None print(Helper().LookForCuiInLocal("paradentose", "da")) 

Tengo una base de datos donde ejecuto la consulta y podría devolver una cadena que necesito. Si no contiene la cadena, el método falla y devuelve Ninguno.

Me sale el siguiente resultado:

 hey c0031099 hey c0031099 

¿Por qué el método se ejecuta dos veces? Espero que alguien pueda ayudarme con esto.

EDITAR: Estoy usando PyCharm como mi IDE

EDIT2: Cambiar a lo siguiente no ayuda al problema:

 def LookForCuiInLocal(disease, language): conn = mysql.connector.connect(stuff here) cursor = conn.cursor(buffered=True) findLocalQuery = ("SELECT umls_concept_id from translation WHERE source_text = '{}'".format(disease)) print("hey") try: cursor.execute(findLocalQuery) resultList = cursor.fetchone()[0] cursor.close() conn.close() return resultList except (mysql.connector.Error, TypeError) as e: print("Error when finding local CUI : {}".format(e)) return None print(Helper().LookForCuiInLocal("paradentose", "da")) 

Sin embargo, llamar a LookForCuiInLocal () desde otro script no hace que el método se ejecute dos veces

Supongamos que tenemos el archivo foo.py contiene este código

 print("running from", __name__) import foo 

Cuando ejecuta el archivo (es el punto de entrada principal del progtwig), se ejecuta con el nombre __main__ , cuando se importa, ejecuta el archivo una segunda vez con el nombre foo , por lo que la salida sería

 running from __main__ running from foo 

Rara vez tiene una importación de archivos, generalmente esto sucede con las importaciones circulares, cuando foo importará la bar que importará foo .

Para que el módulo tenga un código que deba ser importado y un código que solo deba ejecutarse cuando sea el progtwig principal, coloque el código principal únicamente dentro de la condición:

 if __name__ == "__main__": 

Esto hará que se ejecute solo cuando el módulo es el punto de entrada y no cuando se importa.