Итак, еще раз, я делаю хорошую программу на Python, которая делает мою жизнь еще проще и экономит много времени. Конечно, это включает в себя virtualenv, созданный с помощью функции mkvirtualenv
virtualenvwrapper. В проекте есть файл require.txt с несколькими необходимыми библиотеками (запросы тоже: D), и программа не будет работать без этих библиотек.
Я пытаюсь добавить исполняемый скрипт оболочки bin/run-app
, который будет в моем пути (фактически, символическая ссылка). Теперь внутри этого скрипта мне нужно переключиться на virtualenv, прежде чем я смогу запустить эту программу. Так что я положил это в
#!/bin/bash
# cd into the project directory
workon "$(cat .venv)"
python main.py
Файл .venv
содержит имя virtualenv. Но когда я запускаю этот скрипт, я получаю workon: command not found
ошибку.
Конечно, у меня есть файл virtualenvwrapper.sh в моем bashrc, но он не доступен в этом сценарии оболочки.
Итак, как мне получить доступ к этим функциям virtualenvwrapper здесь? Или я делаю это неправильно? Как вы запускаете свои инструменты Python, каждый из которых имеет свой собственный virtualenv!?