python 诗歌+ watchmedo + uwsgi:无法识别的参数

bweufnob  于 2023-03-21  发布在  Python
关注(0)|答案(1)|浏览(127)

我有一个uWSGI应用程序,我想用watchmedo监视它,它是在一个诗歌环境下运行的。
不幸的是,以下内容不起作用:

poetry run watchmedo auto-restart --directory=./ --pattern="*.py;*.yml;*.html" --recursive -- uwsgi --ini=uwsgi.ini

此命令引发:

watchmedo: error: unrecognized arguments: --ini=uwsgi.ini

似乎poetry无法理解我将参数传递给uwsgi,而不是watchmedo。我尝试了此命令的多种排列,但无法使其工作。我错过了什么?即使将其作为poetry run bash -c运行,仍然会引发相同的错误。

7d7tgy0s

7d7tgy0s1#

watchmedog / watchmedo使用模块argparse来处理CLI参数。不幸的是,恕我直言,它错误地在一个步骤中处理 * 所有 * 参数,而不是只处理其参数并将其余参数传递给调用的命令。
除此之外,可以在命令中使用两次伪参数--来解决这个问题。您需要在最后一个watchmedo的参数之后使用--,并在命令的参数之前使用另一个--
取代:

poetry run watchmedo auto-restart -d . -p '*.py' -R -- uwsgi --ini=uwsgi.ini

用途:

poetry run watchmedo auto-restart -d . -p '*.py' -R -- uwsgi -- --ini=uwsgi.ini

相关问题