Jump to content

Não consigo transformar o .py em um .exe


P. Bonomo

Postagens Recomendadas

Você pode ter instalado o pyinstaller no Python do computador, mas não no Python do ambiente virtual. Os pacotes instalados em um não fazem parte do outro.

O objetivo de ter um ambiente virtual é justamente criar um ambiente Python onde apenas os pacotes nas versões específicas que foram usados no projeto estão instalados. Pois versões diferentes de um pacote podem alterar funcionalidades que fariam seu código não se comportar do modo que espera ou até não funcionar mais. E isso também facilita fazer o controle das dependências do seu projeto, pois não terá um monte de pacotes que não tem nada haver com o projeto instalados no mesmo ambiente.

Então você precisa instalar os pacotes necessários para o projeto no Python do ambiente virtual, incluindo o pyinstaller.

  • Curtir 1
Link to comment
Compartilhe em outros sites

4 horas atrás, isrnick disse:

Você pode ter instalado o pyinstaller no Python do computador, mas não no Python do ambiente virtual. Os pacotes instalados em um não fazem parte do outro.

O objetivo de ter um ambiente virtual é justamente criar um ambiente Python onde apenas os pacotes nas versões específicas que foram usados no projeto estão instalados. Pois versões diferentes de um pacote podem alterar funcionalidades que fariam seu código não se comportar do modo que espera ou até não funcionar mais. E isso também facilita fazer o controle das dependências do seu projeto, pois não terá um monte de pacotes que não tem nada haver com o projeto instalados no mesmo ambiente.

Então você precisa instalar os pacotes necessários para o projeto no Python do ambiente virtual, incluindo o pyinstaller.

 

6 horas atrás, Ryan Zimerman Leite disse:

@P. Bonomo O erro que está dando é que você não tem o pyinstaller, manda seu código aqui, mas você pode tentar utilizar o auto-py-to-exe

@Ryan Zimerman Leite @isrnick

vou tentar amanhã a hora que chegar em casa e aviso vocês, vou mandar o código aqui:

import turtle

# Configuração da janela
tela = turtle.Screen()
tela.title("Teste do jogo")
tela.bgcolor("black")
tela.setup(width=800, height=600)
tela.tracer(0)

# Pontuação
pontuacao_a = 0
pontuacao_b = 0

# Jogador A
jogador_a = turtle.Turtle()
jogador_a.speed(5)
jogador_a.shape("square")
jogador_a.color("white")
jogador_a.shapesize(stretch_wid=6, stretch_len=1)
jogador_a.penup()
jogador_a.goto(-350, 0)

# Jogador B
jogador_b = turtle.Turtle()
jogador_b.speed(5)
jogador_b.shape("square")
jogador_b.color("white")
jogador_b.shapesize(stretch_wid=6, stretch_len=1)
jogador_b.penup()
jogador_b.goto(350, 0)

# Bola
bola = turtle.Turtle()
bola.speed(60)
bola.shape("square")
bola.color("white")
bola.penup()
bola.goto(0, 0)
bola.dx = 0.2
bola.dy = -0.2

# Placar
placar = turtle.Turtle()
placar.speed(0)
placar.color("white")
placar.penup()
placar.hideturtle()
placar.goto(0, 260)
placar.write("Jogador A: 0 Jogador B: 0", align="center", font=("Courier", 24, "normal"))

# Funções
def jogador_a_sobe():
    y = jogador_a.ycor()
    y += 30
    jogador_a.sety(y)

def jogador_a_desce():
    y = jogador_a.ycor()
    y -= 30
    jogador_a.sety(y)

def jogador_b_sobe():
    y = jogador_b.ycor()
    y += 30
    jogador_b.sety(y)

def jogador_b_desce():
    y = jogador_b.ycor()
    y -= 30
    jogador_b.sety(y)

# Teclado
tela.listen()
tela.onkeypress(jogador_a_sobe, "w")
tela.onkeypress(jogador_a_desce, "s")
tela.onkeypress(jogador_b_sobe, "Up")
tela.onkeypress(jogador_b_desce, "Down")

# Loop principal
while True:
    tela.update()

    # Movendo a bola
    bola.setx(bola.xcor() + bola.dx)
    bola.sety(bola.ycor() + bola.dy)

    # Verificando colisão com a borda superior
    if bola.ycor() > 290:
        bola.sety(290)
        bola.dy *= -1

    # Verificando colisão com a borda inferior
    if bola.ycor() < -290:
        bola.sety(-290)
        bola.dy *= -1

    # Verificando colisão com a borda direita
    if bola.xcor() > 390:
        bola.goto(0, 0)
        bola.dx *= -1
        pontuacao_a += 1
        placar.clear()
        placar.write("Jogador A: {} Jogador B: {}".format(pontuacao_a, pontuacao_b), align="center", font=("Courier", 24, "normal"))

    # Verificando colisão com a borda esquerda
    if bola.xcor() < -390:
        bola.goto(0, 0)
        bola.dx *= -1
        pontuacao_b += 1
        placar.clear()
        placar.write("Jogador A: {} Jogador B: {}".format(pontuacao_a, pontuacao_b), align="center", font=("Courier", 24, "normal"))

    # Verificando colisão com os jogadores
    if (bola.dx > 0 and bola.xcor() > 340 and bola.xcor() < 350 and bola.ycor() < jogador_b.ycor() + 50 and bola.ycor() > jogador_b.ycor() - 50):
        bola.setx(340)
        bola.dx *= -1

    if (bola.dx < 0 and bola.xcor() < -340 and bola.xcor() > -350 and bola.ycor() < jogador_a.ycor() + 50 and bola.ycor() > jogador_a.ycor() - 50):
        bola.setx(-340)
        bola.dx *= -1

# Fechando a janela
tela.mainloop()

 

Editado por Casa do Desenvolvedor
Inserção do código na caixa de 'code'.
  • Curtir 1
Link to comment
Compartilhe em outros sites

Crie uma conta ou entre para comentar 😀

Você precisa ser um membro para deixar um comentário.

Crie a sua conta

Participe da nossa comunidade, crie sua conta.
É bem rápido!

Criar minha conta agora

Entrar

Você já tem uma conta?
Faça o login agora.

Entrar agora


×
×
  • Create New...