微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在python中访问包数据

如何解决在python中访问包数据

我想制作一个使用我的一些 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())

我还制作了一个简单的 setup.py 文件

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 举报,一经查实,本站将立刻删除。