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

发布rolimons Python包后出现导入失败问题求助

问题描述

我遇到了Python包发布后导入错误的问题,具体情况如下:

项目结构

README.md
LICENSE
setup.py
rolimons/
└── __init__.py
└── users.py
└── items.py
└── client.py

setup.py 内容

from setuptools import find_packages, setup

with open("README.md", encoding="utf-8") as f:
    readme = f.read()

setup(
    name="rolimons",
    version="1.2.5",
    author="walker",
    description="Rolimons API Wrapper",
    long_description=readme,
    long_description_content_type="text/markdown",
    packages=['rolimons'],
    url="https://github.com/wa1ker38552/Rolimons-PY",
    install_requires=["requests", "bs4", "requests_html"],
    python_requires=">=3.7",
)

发布步骤

  1. 修改setup.py中的版本号
  2. 执行python setup.py sdist
  3. 执行twine upload --skip-existing dist/*

在另一个项目中执行pip install rolimons --upgrade后,出现导入错误,提示找不到该模块。


排查与解决方案

1. 检查打包是否包含完整模块

先确认生成的源码包是否包含rolimons目录下的所有文件:

  • 打开dist目录下的rolimons-1.2.5.tar.gz文件,查看内部是否存在完整的rolimons/目录,且包含__init__.py、users.py等所有文件。
  • 如果文件缺失,说明打包过程未正确收集模块文件。

2. 修正setup.py的包收集配置

将setup.py中的packages=['rolimons']替换为find_packages(),让setuptools自动识别所有合法的Python包:

setup(
    # 保留其他原有参数
    packages=find_packages(),
    # 保留其他原有参数
)

手动指定包名容易出现遗漏,find_packages()会自动扫描当前目录下所有包含__init__.py的目录作为包。

3. 重新打包并发布(避免跳过新版本)

旧的dist目录和--skip-existing参数可能导致新版本未上传成功,按以下步骤操作:

  • 删除旧的dist目录:
    Linux/macOS:rm -rf dist/
    Windows:rmdir /s dist
  • 修改setup.py中的版本号(确保比已发布的版本更高)
  • 重新生成源码包:python setup.py sdist
  • 上传新版本:twine upload dist/*
    不要加--skip-existing,确保新版本被正常上传。

4. 验证安装环境与版本

在目标项目中执行以下命令确认安装情况:

  • 查看安装的版本:pip show rolimons,确认版本号为最新的1.2.5
  • 查看安装路径:确认包安装在当前项目使用的Python环境(如虚拟环境)中,避免因为环境混用导致找不到模块。

补充:优化模块导入体验(可选)

如果希望用户能直接从rolimons包导入子模块内容,可以在rolimons/__init__.py中添加导入语句,例如:

from .users import UserClient
from .items import ItemClient
from .client import RolimonsClient

这一步不影响包的识别,只是提升用户使用体验。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 03:05:28