“运行”;python manage.py runserver“;来自bash脚本
我想从bash脚本运行“python manage.py runserver” 首先,如果我想从终端“python manage.py runserver&”运行,但它不起作用。我找到了解决这个问题的方法(https://code.djangoproject.com/changeset/16327). 在运行“python manage.py runserver&”的终端中手动运行效果良好。 我在bash脚本中添加了“python manage.py runserver&”,但它不会启动服务器“运行”;python manage.py runserver“;来自bash脚本,python,django,bash,selenium,hudson,Python,Django,Bash,Selenium,Hudson,我想从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')
我使用alias启动django服务器。可能是(我能帮忙) 只需在
~/.bashrc
或~/.profile
的末尾添加别名django\u serve=“python manage.py runserver&”
此外,您还可以创建.bash\u别名
,并将别名放入此文件中,并在执行任何类似操作之前执行它
if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi
问题可能是hudson没有以您的用户身份运行。。。你可以跑
source /home/your_user/.bashrc && django_serve
要让它运行该别名,但我认为您可能需要切换用户
--或--
让hudson从自己的源代码签出运行dev服务器
编辑:但看看你的错误,我认为这可能会解决你的问题:
而不是
python manage.py runserver
尝试添加--noreload
标志以禁用自动重新加载程序
python manage.py runserver --noreload
为什么不使用普通的部署机制…我想从Hudson中的作业中运行这个命令(添加构建步骤->执行shell)。服务器启动后,运行nosetests,这是错误的方法。单元测试(包括nose)应使用代码中的内置测试服务器和客户端,而不是访问实际的开发服务器。@Daniel我的目标是拥有一个Hudson作业,该作业正在执行以下操作:从SVN更新源代码,启动selenium server jar,运行服务器“python manage.py runserver”(这是我的问题),使用命令nosetests运行Selenium自动测试——使用xunit--xunit file=nosetests。xmlI在
~/.bashrc
中添加了别名django\u server=“python manage.py runserver&”
,并运行源代码~/.bashrc
。我从终端运行命令django_server
,工作正常。然后我编写了一个bash脚本,其中包含django\u服务器
,但它告诉我未找到命令
。add-in.bash_aliasalias django_server='python manage.py runserver--noreload&'
(如果没有--noreload
选项,则会出现上述初始错误)2。复制~/.bash_别名/var/lib/hudson。3.在Hudson作业(添加构建步骤->执行shell)中添加/var/lib/hudson/.bash\u别名
和django\u服务器
。服务器正在后台运行,Selenium测试正在使用nosetests运行。谢谢你的回答。