问题描述
我想制作一个使用我的一些 sql 脚本的方便的 python 工具。我创建了一个包含脚本的包,但安装包后我无法访问它们。这是一个最小的示例,包具有以下结构:
.
├── me
│ └── me.py
├── setup.py
└── sql_scripts
├── __init__.py
└── init.sql
me.py
的内容是
import click
import importlib.resources as pkg_resources
@click.group()
def me():
pass
@me.command()
def init():
sql_script = (pkg_resources.files('me.sql_scripts').joinpath('init.sql').read_text())
from setuptools import setup
setup(
name="me",version='0.0.1',py_modules=['me'],python_requires='>=3.9',# use importlib.resources
install_requires=[
'click',],package_data={'me': ['sql_scripts/*.sql']},packages=['me'],entry_points={
'console_scripts':
[
'me=me.me:me'
]
},)
我正在使用 pip install .
安装软件包,但启动 me init
时出现“ModuleNotFoundError”错误。
在我看来,我要么在安装脚本中犯了一个错误而安装不成功,要么我没有正确使用 importlib.resources。完整代码在这里:https://github.com/sellisd/minimal_example_code
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)