Crie um executável do programa Python a partir do seu ícone

2

Eu desejo que os programas em Python sejam executados em uma janela clicando em um ícone.

Este é o primeiro dia de ensinar a mim mesmo e o tipo de codificação e o Ubuntu, portanto, explantão e detalhes extras são bem-vindos.

Exemplo de código que estou usando

print("Game Over")
input("\n\nPress the enter key to exit")

Executa OK no IDLE, mas quando clico no ícone do arquivo .py, um editor é aberto em vez de um programa / janela

Passos que fiz até agora

  • clique com o botão direito no arquivo .py e defina as permissões para "permitir a execução do arquivo como programa"
  • leia o máximo que pude e parece estar me apontando informações que estão acima da minha cabeça.

Exemplos

#!/usr/local/bin/python
#!/usr/bin/env python
CHMOD X

Nenhum dos quais eu entendo ou sei onde usar.

Estou usando o Ubuntu 14.04 e o Python 3

Obrigado antecipadamente.

    
por strangeagent 14.03.2015 / 18:00

2 respostas

8

Embora sua pergunta possa estar no limite por mais de um motivo (muito amplo, fora do tópico, mais de um assunto por pergunta, no limite de um número de quase duplicatas), responderei a pergunta (s ).

A primeira pergunta: sobre a execução de um script (somente texto) "de um ícone", como você mencionou:

  • Seu script é somente texto e precisa ser executado em Idle ou em uma janela de terminal. Isso significa que, se você quiser executá-lo clicando duas vezes em um ícone, precisará criar um arquivo .desktop , no qual é definido para executar o script dentro de uma janela do terminal.
    Esses arquivos .desktop fazem parte de praticamente todos os aplicativos GUI instalados no Ubuntu.

    Um exemplo muito básico, adequado ao seu script:

    [Desktop Entry]
    Name=Test
    Exec=/home/jacob/Bureaublad/test.py
    Terminal=true
    Type=Application
    

    As linhas mais interessantes são:

    Exec=/home/jacob/Bureaublad/test.py
    

    em que o comando para executar seu script é definido.
    Leia mais sobre como criar o comando, sendo o script executável ou não, usando o shebang, extensão de idioma, veja aqui .

    e a linha:

    Terminal=true
    

    Isso diz que o script precisa ser executado em uma janela de terminal.

    Você pode estender seu arquivo .desktop com um.o. um ícone e muito mais opções, dependendo do que você está usando para exatamente, veja aqui .

  • Como usar o arquivo .desktop

    • Cole o código acima em um arquivo vazio, salve-o como test.desktop . Edite o comando na linha Exec=/home/jacob/Bureaublad/test.py , de acordo com o link que adicionei para criar comandos para executar um script.
    • Se você usar o arquivo da sua área de trabalho, torne-o executável com o comando:

      chmod +x /path/to/Test.desktop
      

    Como alternativa, você pode copiar (mover) o arquivo .desktop para ~/.local/share/applications para disponibilizá-lo no Dash. Os aplicativos instalados globalmente armazenam seus arquivos .desktop em /usr/share/applications . Nos dois últimos diretórios, não há necessidade de tornar o arquivo .desktop executável.

Sobre as linhas de exemplo que você não entende

  • As linhas:

    #!/usr/local/bin/python
    #!/usr/bin/env python
    

    são shebangs ; a primeira linha de um script, dizendo ao shell como executá-lo, se o script é executável, e você o executa sem python antes do caminho para o script. Como você usa python3 , o shebang em seus scripts deve ser normalmente:

    #!/usr/bin/env python3
    

    Mais sobre isso, e a relação entre shebang e comando no link acima.

  • CHMOD X (?) chmod +x é provavelmente o que você quer dizer. Como explicado acima, você pode tornar um arquivo executável com o comando:

    chmod +x /path/to/file
    
por Jacob Vlijm 14.03.2015 / 20:44
0

Como mencionado por outros, chmod + x é necessário para tornar o programa executável. Por exemplo, para o programa hello.py, você deve digitar isso no terminal:

$ chmod + x ola.py

Agora, não sei se é verdade em versões anteriores, mas no Ubuntu 16.04 LTS é necessário que o comportamento dos ícones seja definido para permitir clicar no ícone para executar o programa. Você pode fazer isso da seguinte maneira:

Vá para uma janela do navegador de arquivos, mova o cursor do mouse para a parte superior da tela e selecione editar > preferências > comportamento, selecione 'Executar arquivos de texto executáveis quando forem abertos' ou 'Perguntar a cada vez'.

Além disso, para evitar que o terminal feche no final do programa (por exemplo, se você quiser manter a saída do programa para o terminal na tela), em python3.5 você precisa colocar essa linha no final. do programa:

input ()

Espero que isso ajude.

    
por user198845 01.01.2017 / 18:28