簡體   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