O diretório / pasta do arquivo de seu código está em questão ao usar módulos python3? Eu tive um problema [fechado]

0

Eu estou perguntando como ultimamente ao fazer a programação GUI do python eu instalei o tkinter fazendo

apt-get install python3-tk

tudo correu bem e quando abri o console python3 enquanto estava no seguinte diretório

~/python-gui/

Mas eu mudei para outra pasta chamada "tkinter" na pasta "python-gui" e tentei compilar o seguinte código

 import tkinter as tk

class Application(tk.Frame):
    def __init__(self, master=None):
        tk.Frame.__init__(self, master)
        self.pack()
        self.createWidgets()

    def createWidgets(self):
        self.hi_there = tk.Button(self)
        self.hi_there["text"] = "Hello World\n(click me)"
        self.hi_there["command"] = self.say_hi
        self.hi_there.pack(side="top")

        self.QUIT = tk.Button(self, text="QUIT", fg="red",
                                            command=root.destroy)
        self.QUIT.pack(side="bottom")

    def say_hi(self):
        print("hi there, everyone!")

root = tk.Tk()
app = Application(master=root)
app.mainloop()

eu fiz

python3 tkinter.py 

e surpreendentemente recebo este erro

Traceback (most recent call last):
  File "tkinter.py", line 1, in <module>
    import tkinter as tk
  File "/root/python_gui/tkinter/tkinter.py", line 3, in <module>
    class Application(tk.Frame):
AttributeError: 'module' object has no attribute 'Frame'

então entrei no console python3 a partir desse caminho e tentei importar o tkinter dentro do console mas novamente recebi o mesmo erro, mas quando tento compilar o mesmo código na pasta "python-gui" diretamente ele importa e compila corretamente, e também quando estou na pasta "~ / python-gui / tkinter /" eu tentei

/usr/bin/python3.4

tkinter não importou novamente, mas eu saí e tentei novamente, por que o módulo python não está funcionando na pasta "/ tkinter /"? e como faço para corrigir isso?

Obrigado.

info: raiz Linux 4.0.0-kali1-amd64 # 1 SMP Debian 4.0.4-1 + kali2 (2015-06-03) x86_64 GNU / Linux

python: python 3.4.2

    
por hubatrix 27.11.2015 / 14:38

1 resposta

0

Bem, meu mau, eu nomeei o arquivo de programa tkinter.py ao chamar o módulo tkinter, os módulos geralmente devem funcionar independentemente da pasta, apenas renomeando o nome do arquivo fez o trabalho. Você pode nomear seu nome de arquivo como um nome de módulo, já que já haverá um arquivo para ele.

    
por 27.11.2015 / 15:04