Executando um script python como um navegador padrão sem um caminho codificado para python.exe

2

Eu tenho um script python curto que é definido como meu navegador padrão no registro. Ele optará por iniciar o IE ou o Firefox com base na URL (alguns sites de trabalho funcionam apenas no IE). No passado, eu apenas usei um caminho completo para a instalação do python para iniciá-lo, mas isso quebrou recentemente devido a uma mudança no local de instalação do python (ele agora é empacotado com nossos arquivos de projeto, portanto, ele pode mudar com mais frequência). O caminho deve ser atualizado quando se mover, então, basta depender do ambiente atual para encontrar python deve ser suficiente.

Esta é a entrada do comando de registro antigo:

[HKEY_CLASSES_ROOT\RRBrowserChooserURL\shell\open\command]

@="\"C:\Python26\python.exe\" \"C:\browser_chooser.pyw\" \"%1\""

Aqui está a melhor opção de trabalho que eu tenho até agora:

[HKEY_CLASSES_ROOT\RRBrowserChooserURL\shell\open\command]

@="\"C:\Windows\System32\cmd.exe\" \"/c\" \"C:\browser_chooser.pyw\" \"%1\""

No entanto, isso aparece brevemente na janela de comando ao abrir um link. Eu gostaria de evitar isso.

Sem reescrever meu script em outro idioma e compilá-lo em um executável que posso referenciar diretamente, existe uma boa maneira de executar isso sem conhecer o caminho?

    
por RabbleRooster 15.11.2012 / 22:21

3 respostas

1

Você teria que adicionar o caminho Python à variável de sistema PATH ou criar uma nova variável de sistema que seja algo como PYTHONDIR e ter esse ponto no diretório Python e, em seguida, chamar python.exe com% PYTHONDIR% \ python.exe

PS. Por que você não usa as abas do IE do add-on do Firefox?

    
por 15.11.2012 / 22:44
0

Você pode usar um arquivo .lnk (ou seja, um atalho do sistema de arquivos) no campo open\command no registro? Em caso afirmativo, crie um atalho que execute o comando cmd /c e tenha o controle "Executar" definido como "Minimizado":

cmd.exe ainda será executado, mas não abrirá uma janela; ele só exibirá um botão da barra de tarefas.

    
por 16.11.2012 / 00:13
0

Se a compilação sem reescrever é uma opção, você pode compilar seu script python em um exe com py2exe ou pyinstaller - ele será compilado em um exe independente e dlls que você pode usar para executar o aplicativo sozinho com sua própria cópia do python como dll.

    
por 16.11.2012 / 00:42