Como você cria um script Bash para ativar um Python virtualenv?
Eu tenho uma estrutura de diretório como:
.env
bin
activate
...other virtualenv files...
src
shell.sh
...my code...
Posso ativar meu virtualenv por:
user@localhost:src$ . ../.env/bin/activate
(.env)user@localhost:src$
No entanto, fazer o mesmo a partir de um script Bash não faz nada:
user@localhost:src$ cat shell.sh
#!/bin/bash
. ../.env/bin/activate
user@localhost:src$ ./shell.sh
user@localhost:src$
O que estou fazendo de errado?
source
é mudar algo no shell atual. Você pode usar o python do virtualenv usando o caminho completo./env/bin/python
.