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