更新Python包cli.py代码后未生效,执行build与twine上传仍报错求助
解决Python包更新后cli.py未生效的问题
- 必须递增版本号:TestPyPI不会覆盖相同版本号的包,先检查
pyproject.toml或setup.py里的version字段,确保版本号比之前上传的高(比如从0.1.0改成0.1.1)。 - 清理本地构建缓存:删除旧的构建产物和缓存,避免复用旧代码:
再重新执行构建:rm -rf dist build *.egg-info __pycache__python3 -m build - 验证构建包的内容:解压dist目录下的wheel或tar.gz包,确认cli.py已更新:
如果这里还是旧代码,检查包目录结构是否正确,确保cli.py在包的根目录下,且unzip dist/your-package-name-<new-version>-py3-none-any.whl -d temp_check cat temp_check/your_package/cli.pypyproject.toml/setup.py的配置包含了该文件(比如用find_packages()自动识别包文件)。 - 重新上传并安装最新版:上传后,先卸载本地旧包,再指定版本安装TestPyPI的最新版:
pip uninstall -y your-package-name pip install --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple/ your-package-name==<new-version> - 检查导入路径:确保代码中导入的
op所在的cli.py是包内的文件,而非本地某个同名的cli.py(比如运行时优先加载了当前目录的文件而非安装的包文件)。
内容的提问来源于stack exchange,提问作者fsaa
相关产品推荐
相关产品推荐

