繁体   English   中英

从bash脚本运行“ python manage.py runserver”

[英]Run “python manage.py runserver” from a bash script

我想从bash脚本运行“ python manage.py runserver”

首先,如果我想从终端“ python manage.py runserver&”运行,但是它不起作用。 我在(https://code.djangoproject.com/changeset/16327)中找到了针对此问题的修复程序。 在运行“ python manage.py runserver&”的终端中手动正常运行。 我已经添加了一个bash脚本“ python manage.py runserver&”,但它不会启动服务器。

Error:
File "/usr/local/lib/python2.7/dist-packages/Django-1.3-py2.7.egg/django/utils/autoreload.py", line 137, in main
    reloader(main_func, args, kwargs)
  File "/usr/local/lib/python2.7/dist-packages/Django-1.3-py2.7.egg/django/utils/autoreload.py", line 110, in python_reloader
    reloader_thread()
  File "/usr/local/lib/python2.7/dist-packages/Django-1.3-py2.7.egg/django/utils/autoreload.py", line 89, in reloader_thread
    ensure_echo_on()
  File "/usr/local/lib/python2.7/dist-packages/Django-1.3-py2.7.egg/django/utils/autoreload.py", line 77, in ensure_echo_on
    attr_list = termios.tcgetattr(fd)
termios.error: (25, 'Inappropriate ioctl for device')

问题可能是hudson没有以您的用户身份运行...您可以运行

source /home/your_user/.bashrc && django_serve 

使它运行该别名,但我认为您可能需要切换用户

- 要么 -

让hudson从自己的源签出中运行开发服务器

编辑 :虽然看着你的错误,我认为这可以解决你的问题:

代替

python manage.py runserver

尝试添加--noreload标志以禁用自动重新加载器

python manage.py runserver --noreload

我使用别名来启动django服务器。 可能会有所帮助)

只需在~/.bashrc~/.profile的末尾添加alias django_serve="python manage.py runserver &"

您还可以创建.bash_aliases并将别名放入该文件并在执行任何操作之前执行它


if [ -f ~/.bash_aliases ]; then
    . ~/.bash_aliases
fi

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM