Django.fcgi использует динамический virtualenv
Есть ли способ загрузить virtualenv динамически?
#!/home/root/.virtualenvs/production/bin/python
import os, sys
...
Я бы хотел, чтобы путь был
#!/home/root/.virtualenvs/production/bin/python
или же #!/home/root/.virtualenvs/staging/bin/python
в зависимости от того, если имя папки staging
или же production
Я могу получить имя папки следующим образом:
_PROJECT_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.insert(0, _PROJECT_DIR)
sys.path.insert(0, os.path.dirname(_PROJECT_DIR))
_FOLDER_NAME = _PROJECT_DIR.split('/')[-1]
Но я понятия не имею, смогу ли я динамически загрузить virtualenv, основываясь на этом.
Это проблема развертывания, в настоящее время я должен заменить путь в промежуточной среде, потому что он жестко запрограммирован для производства.
1 ответ
Решение
Почему бы не использовать env
?
#!/usr/bin/env python
А затем запустить приложение из соответствующей среды?