Evitar passar variáveis de ambiente para script python

3

Eu tenho um pequeno script python

#!/usr/bin/env python3

import some_python3_module

def main():
    # do stuff

if __name__ == '__main__':
    main()

e não pode executar este script com Python3, já que o ROS define a variável PYTHONPATH para alguns locais relacionados à versão 2.7., o que significa que o Python 3 não pode encontrar nenhum módulo no diretório dist-packages . Eu gostaria de substituir esse comportamento sem ter que modificar o ambiente externo. Ou seja, eu desejo unset PYTHONPATH , mas apenas para este script e, de preferência, de dentro dele, para que o shebang ainda funcione. Isso é possível?

Não tenho certeza se isso é mais adequado para superuser.com

    
por oarfish 11.08.2017 / 09:17

1 resposta

5

Existe uma opção de linha de comando que atende às suas necessidades:

#!/usr/bin/env python3 -E

-E

Ignore all PYTHON* environment variables, e.g. PYTHONPATH and PYTHONHOME, that might be set.

    
por 11.08.2017 / 09:58