django-admin.py和在Dotcloud上修改PYTHONPATH的正确方法?
我没有一个django-admin.py和在Dotcloud上修改PYTHONPATH的正确方法?,python,django,pythonpath,dotcloud,Python,Django,Pythonpath,Dotcloud,我没有一个manage.py,使用不同的设置在DJANGO\u设置\u模块和DJANGO admin.py之间切换开发和生产环境。这是Django docs和pydanny在“2勺Django”中提出的建议 我的项目位于/home/dotcloud/current/polaria。我的设置位于Django 1.5目录结构之后的/home/dotcloud/current/polaria/polaria/settings/dotcloud.pyDJANGO\u SETTINGS\u模块在dotcl
manage.py
,使用不同的设置在DJANGO\u设置\u模块
和DJANGO admin.py
之间切换开发和生产环境。这是Django docs和pydanny在“2勺Django”中提出的建议
我的项目位于/home/dotcloud/current/polaria
。我的设置位于Django 1.5目录结构之后的/home/dotcloud/current/polaria/polaria/settings/dotcloud.py
DJANGO\u SETTINGS\u模块
在dotcloud.yml
中设置为bipolar.SETTINGS.dotcloud
我在运行Dotcloud时遇到问题。当我刚刚学习示例教程时,我已经必须向安装后脚本添加导出PYTHONPATH=/home/dotcloud/current/(hellodjango | bipolar):$PYTHONPATH
当使用主管推出芹菜时,事情变得非常棘手。我正在尝试运行命令django-admin.py芹菜工人
。但无论我如何尝试将我的PYTHONPATH
设置为/home/dotcloud/current/polaria
,它都不会被拾取。我两个都试过了
command = "PYTHONPATH=/home/dotcloud/current/bipolar:$PYTHONPATH django-admin.py celery worker --loglevel=INFO -E"
及
在supervisord.conf中没有任何结果。我尝试过将内容移动到shell脚本,在运行它之前设置路径。。。毕竟,这对安装后的是有效的!在shell上运行它时,它确实可以工作,但在部署机器时,它不工作
因此,建议您提供任何帮助
编辑:从那以后,我尝试了多种方法。我重新添加了一个manage.py,它设置了正确的sys.path
和DJANGO\u设置\u模块
,但都无效。最后,我添加了一个python worker
服务,除了失败两倍之外,它什么也没做(这两个服务上的supervisord.conf都会被读取,是吗?)我知道这可能不起作用,但您尝试过:
command = "cd /home/dotcloud/current/bipolar && django-admin.py celery worker --loglevel=INFO -E"
结果证明他们错了。无法在supervisord.conf
中设置directory=$HOME/current/
。用/home/dotcloud/current/
替换它,您就可以开始了
我仍然无法让django admin.py工作;我假设它是在virtualenv之外用Python二进制文件调用的。我发现manage.py
有点老套;有更好的办法吗
我的工作supervisord.conf
:
[program:celery_beat]
directory = /home/dotcloud/current/bipolar/
stderr_logfile = /var/log/supervisor/%(program_name)s_error.log
stdout_logfile = /var/log/supervisor/%(program_name)s.log
command = /home/dotcloud/env/bin/python manage.py celery beat --loglevel=INFO
[program:celery_worker]
directory = /home/dotcloud/current/bipolar/
stderr_logfile = /var/log/supervisor/%(program_name)s_error.log
stdout_logfile = /var/log/supervisor/%(program_name)s.log
command = /home/dotcloud/env/bin/python manage.py celery worker -E --loglevel=INFO
没有。我没有提到,在supervisord.conf
中,我还设置了目录=$HOME/current/polaria/
。但是我现在试过了,它给了我:2013-03-14 08:03:35217 INFO-spawnerr:找不到命令'cd/home/dotcloud/current/polaria&&django-admin.py芹菜工人--loglevel=INFO-E'
路径正确;在控制台中再次执行复制粘贴命令会导致导入错误:无法导入设置'bipolar.settings.dotcloud'
。但当我放入该目录中的python shell时,我可以很好地导入它。
[program:celery_beat]
directory = /home/dotcloud/current/bipolar/
stderr_logfile = /var/log/supervisor/%(program_name)s_error.log
stdout_logfile = /var/log/supervisor/%(program_name)s.log
command = /home/dotcloud/env/bin/python manage.py celery beat --loglevel=INFO
[program:celery_worker]
directory = /home/dotcloud/current/bipolar/
stderr_logfile = /var/log/supervisor/%(program_name)s_error.log
stdout_logfile = /var/log/supervisor/%(program_name)s.log
command = /home/dotcloud/env/bin/python manage.py celery worker -E --loglevel=INFO