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

创建内部使用的Python包时pip安装提示找不到匹配版本

问题根因

你直接执行pip install cmk时,pip默认会从公共PyPI仓库检索包,你本地开发的私有包并未上传到公共PyPI,因此会触发找不到匹配分发版本的报错。

解决方案

1. 本地环境测试安装

在setup.py所在的项目根目录(即C:\mypackages\cmk)执行对应命令即可:

  • 普通安装:直接将包安装到当前Python环境
    pip install .
    
  • 可编辑模式安装:适合开发阶段,修改包代码后无需重新安装即可生效
    pip install -e .
    

2. 跨环境分发给其他开发者

首先将包打包为标准可分发格式:

  1. 先安装打包依赖:
    pip install setuptools wheel build
    
  2. 执行打包命令:
    python -m build
    
  3. 打包完成后会在项目根目录生成dist文件夹,内有.whl(wheel格式包)和.tar.gz(源码包)两个文件,将任意一个文件发给其他开发者,对方执行以下命令即可安装:
    pip install 下载的包文件路径/xxx.whl
    

3. 团队内部高频使用方案

如果团队内需要频繁更新、安装该包,可以搭建内部私有PyPI源,将打包好的包上传到私有源后,所有成员都可以通过指定私有源安装:

pip install --index-url 你的内部PyPI源地址 cmk

额外优化建议

补全setup.py依赖配置

你当前的setup.py未声明依赖,其他用户安装时不会自动安装requirements.txt里的依赖,建议修改为以下格式:

from setuptools import setup
from pathlib import Path

# 读取requirements.txt的依赖列表
req_path = Path(__file__).parent / "requirements.txt"
with open(req_path, "r", encoding="utf-8") as f:
    requires = [line.strip() for line in f if line.strip() and not line.startswith("#")]

setup(
    name='cmk',
    version='0.1',
    packages=['cmk'],
    install_requires=requires,
    # 可补充其他元信息方便维护
    author="你的团队名称",
    description="内部cmk业务工具包"
)

补充包标识文件

请确认内层cmk业务代码目录下存在空的__init__.py文件,虽然Python 3.3+支持隐式命名空间包,但保留该文件可以避免部分版本的setuptools识别不到包结构。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.10 00:39:04