我正在使用OpenShift,而我正在使用自定义挂钩。主要是:
由于我已经尝试过的原因,我没有使用服务于python / nginx的第三方盒式磁带(它在本主题中给出了一些错误)。
所以我不得不坚持手动安装nginx,并确保相应地启动和停止。
现在:我的应用程序使用nginx因为我需要websockets,而我找到的最好的库是相当现代的。因此,对于我的应用程序,我必须使用gunicorn
和django-gevent-websockets
。
对于许多语言问题,我拒绝使用shell脚本,而是使用了python:
#!/usr/bin/env python
...
并且,在执行复杂任务后,我使用以下逻辑运行os.system
多个命令:
始终将这些命令回显到控制台(print
他们)。但我发现了一个错误:
sh: command deactivate not found.
这意味着:在执行该命令时,某种程度上我们不在virtualenv中。我不知道我是否对此,但似乎os.system
为每个调用创建了一个不同的环境,因此:在start the virtualenv
步之后,我不再是虚拟环境了。
问题:如何在调用之间保留shell上下文,以便activate
调用在后续系统调用中生效?这意味着:我希望能够将这些包放在virtualenv中,并执行相关的东西。
此OpenShift应用程序使用Python盒式磁带(Apache附带)。