Topic: Errore per primo programma  (Letto 188 volte)

0 Utenti e 1 Visitatore stanno visualizzando questo topic.

Offline DRN

  • python unicellularis
  • *
  • Post: 5
  • Punti reputazione: 0
    • Mostra profilo
Errore per primo programma
« il: Novembre 28, 2020, 14:14 »
Ciao a tutti,sono agli inizi con tkinter e sto usando Thonny python IDE con un raspberry pi e al primo programma di benvenuto ho subito problemi, il codice è questo:

if version_info.major == 2:
    # Python 2.x
    from Tkinter import *

elif version_info.major == 3:
    # Python 3.x
    from tkinter import *

root = tk.Tk()

label = tk.Label(root, text="Hello World!") # Create a text label
label.pack(padx=20, pady=20) # Pack it into the window

root.mainloop()


e mi da questo errore:

Traceback (most recent call last):
  File "/home/pi/Desktop/python/studio python/tkinter.py", line 1, in <module>
    if version_info.major == 2:
NameError: name 'version_info' is not defined

Eppure tkinter dovrebbe essere installato perchè se lancio questo non mi risponde niente:

import tkinter as tk # for Python 3 version

grazie

Offline nuzzopippo

  • python neanderthalensis
  • ****
  • Post: 381
  • Punti reputazione: 0
    • Mostra profilo
Re:Errore per primo programma
« Risposta #1 il: Novembre 29, 2020, 09:28 »
Te lo dice chiaramente l'errore

if version_info.major == 2:


Traceback (most recent call last):
  File "/home/pi/Desktop/python/studio python/tkinter.py", line 1, in <module>
    if version_info.major == 2:
NameError: name 'version_info' is not defined

Cosa è "version_info"? ... Tieni presente che tale struttura non fa neanche parte di tkinter, ma dell'ambiente python, la definisci utilizzando il modulo sys, breve esempio

>>> import sys
>>> sys.version_info.major
3
>>>


Per superare la "difficoltà" segnalata, importati sys e metti un "sys." attaccato al version

... un consiglio, non scopiazzarti ciò che trovi in giro. studiati almeno tutto il tutorial sistematicamente, prima di provare con tkinter, affronti in modo sbagliato un argomento molto complesso, fallo dopo esserti "irrobustito" un po'