pip安装的包默认来自Python Package Index (PyPI),这是Python官方的第三方软件包仓库:
查看当前pip源配置
pip config list
在国内,由于网络原因,可以使用国内镜像源加速下载,常用镜像地址如下:
供应商 | 镜像地址 | 特点 |
|---|---|---|
清华大学 | https://pypi.tuna.tsinghua.edu.cn/simple | 更新频繁,速度稳定,推荐首选 |
阿里云 | https://mirrors.aliyun.com/pypi/simple/ | 阿里云维护,速度极快 |
豆瓣 | https://pypi.douban.com/simple/ | 老牌镜像,稳定可靠 |
中国科学技术大学 | https://pypi.mirrors.ustc.edu.cn/simple/ | 教育网优化,校外也可用 |
华为云 | https://repo.huaweicloud.com/repository/pypi/simple | 企业级服务,稳定性高 |
腾讯云 | https://mirrors.cloud.tencent.com/pypi/simple | 新兴镜像,速度不错 |
网易 | http://mirrors.163.com/pypi/simple/ | 网易维护,速度稳定 |
百度 | https://mirror.baidu.com/pypi/simple | 百度维护,较新加入 |
# 临时使用镜像源(单次安装)
pip install 包名 -i 镜像地址
# 永久配置镜像源
pip config setglobal.index-url 镜像地址

# 在包目录中(包含setup.py的目录)
pip install -e . # 开发模式安装(可编辑)
# 或
pip install . # 正常安装

4.1 先在【PyPI官网:https://pypi.org】 注册账号,并申请发布Token 4.2 安装打包工具:
pip install setuptools wheel twine build4.3 确认项目结构: mypackage/ ├── mypackage/ │ ├── init.py │ └── xxx.py ├── pyproject.toml └── README.md ├── LICENSE

当前以一个简单的加减法计算器示例,main.py内容如下:
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
def main():
print("欢迎使用加减法计算器!")
while True:
try:
expr = input("请输入加减表达式(如 3+5 或 10-2),或输入 q 退出: ")
if expr.strip().lower() == 'q':
print("退出计算器。")
break
if '+' in expr:
parts = expr.split('+')
result = float(parts[0]) + float(parts[1])
elif '-' in expr:
parts = expr.split('-')
result = float(parts[0]) - float(parts[1])
else:
print("仅支持加法和减法。")
continue
print(f"结果: {result}")
except Exception as e:
print(f"输入有误: {e}")
if __name__ == "__main__":
main()pyproject.toml内容:
[build-system]
requires = ["setuptools", "wheel"]
build-backend = "setuptools.build_meta"
[project]
name = "calculator-suoxd"
version = "0.1.1"
description = "A simple calculator for elementary school students to practice addition and subtraction."
authors = [{ name = "Zacsuo", email = "suoxd123@126.com" }]
license = { file = "LICENSE" }
readme = "README.md"
requires-python = ">=3.6"
dependencies = []
[project.scripts]
calculator = "calculator.main:main" 4.4 构建分发包
# 清理旧的构建文件
rmdir /s /q dist build
# 构建源分发包和wheel
python -m build
4.5 上传到PyPI:
# 测试环境
twine upload --repository testpypi dist/*
# 正式环境
twine upload dist/*
4.6 安装使用 本地我配置了阿里云镜像,当前还没同步到阿里云,所以需要指定pypi源即可安装。 另外,需要注意项目名称和命令行入口点名称是两个不同的概念,都是在pyproject.toml中定义:
