Я хочу сделать сценарий оболочки, который делает virtualenv, активирует его, установите некоторые библиотеки и запустите скрипт Python с ним.
Но у меня есть проблема, что я не могу активировать virtualenv в сценарии оболочки, если я "не получаю script.sh", но затем python3 не работает. Как я могу сделать что-то вроде этого?
#!/bin/bash
python3 -m pip install virtualenv
python3 -m virtualenv virtual
source virtual/bin/activate
pip install <some libraries>
python <filename.py>
Я хотел бы сделать это без любых глобальных путей к Python. Я хочу, чтобы это работало локально.
При работе с Ubuntu (и большинство других дистрибутивов Linux я сказал бы) безопасно использовать полные пути, поскольку Python является важной составляющей ОС:
/usr/bin/python # or respectively
/usr/bin/python3
Если Вы не хотите выполнять установленную версию Python в масштабе всей системы, а скорее одно первое в вызывающем абоненте PATH
, вместо этого использование:
/usr/bin/env python # or respectively
/usr/bin/env python3