Iniciando script contendo env virtual por meio do ícone da área de trabalho

0

Eu quero lançar o Spyder com o ambiente tensorflow ativado diretamente por meio de um ícone na área de trabalho. Para isso, criei um ícone na área de trabalho, lançando um virtualenv e, em seguida, meu aplicativo. Muitas mensagens já existem, mas não consigo encontrar uma solução para esse problema exato. Aqui está o meu arquivo spyder.sh:

#!/bin/bash
source /home/alexis/tensorflow/bin/activate
spyder3

e aqui está minha entrada na área de trabalho:

[Desktop Entry]
Version=1.0
Name=Spyder     
Comment=Spyder
Exec='/home/alexis/Launcher/spyder.sh'
Icon=spyder3
Terminal=true
Type=Application
Categories=Application;
Name[en_US]=Spyder

Os arquivos têm chmod +x . De um terminal, o script funciona conforme o esperado. Na área de trabalho, o script inicia o Spyder, mas o ambiente não é ativado. O que eu sinto falta?

Questões relacionadas que não respondem à minha pergunta: Como faço um ícone no desktop para iniciar um programa? e Como automatizar a ativação do ambiente Python? / p>     

por ahstat 22.03.2018 / 14:32

1 resposta

1

Para executar seu script python dentro do ambiente virtual, você simplesmente precisa executar o binário python que está na pasta bin da sua pasta virtual env.

Ou seja, se o seu env virtual dentro de /home/alexis/myvirtualenv e se o script que você deseja executar for denominado /home/alexis/scripts/my_python_file.py , você terá que executar seu script python desta forma:

/home/alexis/myvirtualenv/bin/python /home/alexis/scripts/my_python_file.py

Para suas necessidades específicas: Tente colocar o seguinte código em spyder.sh :

#!/bin/bash
/home/alexis/tensorflow/bin/python spyder3  # you may have to put the full path to spyder3
    
por rebrec 22.03.2018 / 14:52