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

А затем запустить приложение из соответствующей среды?

Другие вопросы по тегам