functions-framework-pythonの名前がややこしいという話です.
プロジェクトの名前はfunctions-framework-python
です.
プロジェクトのreadme.mdにはfunctions-framework --target hello --debug
というサンプルのソースコードが記載されています.
これをpythonコマンドでモジュールとして起動しようとすると,そのようなモジュールは存在しないと言われます.
$ python -m functions-framework /usr/local/bin/python: No module named functions-framework
スペースをアンダーバーに修正すれば解決します.
$ python -m functions_framework Usage: python -m functions_framework [OPTIONS] Try 'python -m functions_framework --help' for help.
setup.pyのconsole_scripts
を見ると,いくつかのエイリアスが登録されています.
entry_points={ "console_scripts": [ "ff=functions_framework._cli:_cli", "functions-framework=functions_framework._cli:_cli", "functions_framework=functions_framework._cli:_cli", "functions-framework-python=functions_framework._cli:_cli", "functions_framework_python=functions_framework._cli:_cli", ] }
プロジェクトのソースコードはsrc/functions_framework/
というディレクトリに保存されています.
それでも,setup.pyには,name="functions-framework"と記載されています.
なお,PyPIにはfunctions-framework
で登録されています.
状況に応じてスペースとアンダーバーが異なるので注意が必要です.おそらく,Pythonの命名規則はスネークケースを使用しますが,プロジェクト名はケバブケースにしたのが原因なのだと思います.