我是一名 Ruby 程序员,正在开发我的第一个 Python 包(我们称之为foo)。它的主要目的是作为一个命令行工具。我指定它应该作为可执行文件安装在setup.py使用中:
setup(
entry_points={
'console_scripts': [
'foo = foo.cli:main'
]
}
)
foo/cli.py包含:
import foo
def main():
# program logic here
if __name__ == '__main__':
main()
cli.py需要引用foo.__version__中定义的内容foo/__init__.py,但是当我在python foo/cli.py本地运行以测试 CLI 时,import foo会引发ImportError: No module named foo. 运行这样的单个文件时,如何让 Python 在 foo 包的上下文中查看 cli.py?我的方法完全错误吗?您通常如何在本地测试使用 setuptools 的入口点定义的可执行文件?