You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PyPI上传Python包内置CSV数据集问题求助(代码报错)

解决PyPI包内置CSV数据集加载问题

核心问题排查与修复方案

1. 先确认包结构与资源配置

你的包必须符合标准结构,且确保CSV文件被正确打包:

你的包名/
├── __init__.py
├── load/
│   ├── __init__.py  # 必须存在,空文件即可
│   └── data.csv
└── 存放load_data的模块.py

同时要在打包配置中声明资源文件:

  • 用setup.py的话,添加:
    from setuptools import setup, find_packages
    
    setup(
        name="你的包名",
        packages=find_packages(),
        package_data={
            "你的包名": ["load/*.csv"],
        },
    )
    
  • 用pyproject.toml(现代推荐方式)的话,添加:
    [tool.setuptools.package-data]
    "你的包名" = ["load/*.csv"]
    

2. 修复资源路径获取代码

pkg_resources已逐步被官方推荐的importlib.resources替代,改用更稳定的实现:

import pandas as pd
from importlib.resources import files

def load_data():
    # 替换成你的实际包名,比如包叫my_dataset,就写my_dataset.load
    file_path = files("你的包名.load").joinpath("data.csv")
    df = pd.read_csv(file_path)
    return df

如果坚持用pkg_resources,要确保安装了setuptools,且第一个参数是你的实际包名(不是示例中的package)。

3. 本地测试必做步骤

不要直接在源码目录测试,先本地安装包模拟PyPI环境:

pip install -e .

然后在Python终端验证:

from 你的包名 import load_data
df = load_data()
print(df.head())

4. 补全依赖声明

确保你的包依赖pandas,在配置文件中添加:

  • setup.py:
    install_requires=[
        "pandas>=1.0.0",
    ]
    
  • pyproject.toml:
    [project]
    dependencies = [
        "pandas>=1.0.0",
    ]
    

内容的提问来源于stack exchange,提问作者AM1995

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 12:12:04