Poetry环境下watchmedo调用uWSGI时参数传递报错求助
问题解决方法
问题出在Poetry的run命令对--的解析逻辑上:Poetry会把单个--视为自身命令与后续子命令参数的分隔符,导致原本要传给watchmedo的--被Poetry拦截,watchmedo自然无法识别后面的uWSGI参数。
解决方法是使用双重--,第一层--交给Poetry,明确后续所有参数都传递给watchmedo;第二层--交给watchmedo,用来分隔自身参数和要启动的uWSGI命令:
poetry run -- watchmedo auto-restart --directory=./ --pattern="*.py;*.yml;*.html" --recursive -- uwsgi --ini=uwsgi.ini
补充说明
如果想用poetry run bash -c的方式执行,需要把整个命令用单引号包裹,避免内部引号嵌套导致的解析混乱:
poetry run bash -c 'watchmedo auto-restart --directory=./ --pattern="*.py;*.yml;*.html" --recursive -- uwsgi --ini=uwsgi.ini'
内容的提问来源于stack exchange,提问作者Some Guy
相关产品推荐
相关产品推荐

