步骤 1:创建 setup.py
文件
在项目根目录下创建 setup.py
,内容如下:
python
from setuptools import setup, find_packages setup( name="my_utils", # 自定义唯一包名,避免与PyPI上的`utils`冲突 version="0.1", packages=find_packages(), # 自动查找所有包(包含__init__.py的目录) description="Custom utilities for my project", author="Your Name", author_email="your.email@example.com", )
-
关键点:
name
字段需唯一(如用my_utils
替代utils
),避免与已有包冲突。
步骤 2:确保 utils
是一个合法包
确认 utils
目录下有 __init__.py
文件(可以是空文件),结构如下:
项目根目录/ ├── setup.py └── utils/ ├── __init__.py ├── dbutils.py ├── mylog.py └── mytime.py
步骤 3:安装包到系统
在项目根目录下执行以下命令:
bash
pip install .
-
如果权限不足,可添加
--user
选项安装到用户目录:bash
pip install --user .
-
若需开发模式安装(代码修改后无需重新安装):
bash
pip install -e .
步骤 4:验证安装
在任意位置启动Python解释器,测试导入:
python
import utils # 根据 setup.py 中的 name 字段导入 from utils import dbutils, mylog, mytime # 按需导入子模块 print(utils .__file__) # 查看安装路径(应在 site-packages 下)
步骤 5:在其他项目中引用
安装后,任何Python脚本中均可直接使用:
python
from utils import dbutils # 导入自定义模块
常见问题解决
-
包名冲突
-
如果提示
ModuleNotFoundError
,检查setup.py
中的name
和实际导入名称是否一致。
-
-
依赖管理
如果utils
依赖第三方库(如requests
),在setup.py
中添加:setup( ... install_requires=["requests"], # 声明依赖 )
-
更新包
修改代码后,重新安装:pip install --upgrade .
-
卸载包
bash
pip uninstall my_utils
# 检查包是否安装成功 pip list pip show my_utils