如何在Python中导入自定义模块实现任意目录调用
Ubuntu 系统 Python3.9 全局导入自定义函数教程
实现原理
将自定义代码按照Python官方规范打包成可安装包,安装到当前Python3.9环境的site-packages目录下,和requests等第三方库的存储位置一致,即可在任意目录的脚本中直接导入使用。
步骤1:确认环境路径
首先执行以下命令确认pip对应Python3.9版本,避免装错环境:
python3.9 -m pip --version
返回结果中如果包含python3.9/site-packages路径说明环境正确。
步骤2:组织代码目录结构
按照打包规范组织你的自定义函数代码,示例结构如下:
my_custom_pkg/ # 打包工作目录,名字可自定义 ├── pyproject.toml # 打包配置文件 └── src/ └── mytools/ # 你的包名,后续导入用的就是这个名字,不要和已有库重名 ├── __init__.py # 包标识文件 └── core.py # 存放自定义函数的文件,名字可自定义
各文件内容示例
pyproject.toml配置文件内容:
[build-system] requires = ["setuptools>=61.0"] build-backend = "setuptools.build_meta" [project] name = "mytools" # 和上面src下的包名保持一致 version = "0.0.1" authors = [ { name="你的名称", email="你的联系方式" } ] description = "个人自定义工具函数包" requires-python = ">=3.9"
core.py内容示例(存放你的自定义函数):
def add_num(a: int, b: int) -> int: return a + b def get_current_time() -> str: from datetime import datetime return datetime.now().strftime("%Y-%m-%d %H:%M:%S")
__init__.py内容(用于对外暴露你要公开的函数):
from .core import add_num, get_current_time
步骤3:打包并安装到本地环境
- 首先安装打包所需依赖:
python3.9 -m pip install --upgrade build setuptools pip
- 进入打包工作目录
my_custom_pkg(pyproject.toml所在目录),执行打包命令:
python3.9 -m build
执行完成后会生成dist目录,里面包含打包好的.whl安装包。
3. 执行安装命令将包安装到Python3.9环境:
python3.9 -m pip install dist/mytools-0.0.1-py3-none-any.whl
开发阶段可以使用可编辑模式安装:
python3.9 -m pip install -e .,修改代码后不需要重新打包安装即可生效。
步骤4:验证使用效果
在任意目录新建测试脚本test.py,写入以下内容:
# 导入方式和requests完全一致 import mytools print(mytools.add_num(1,2)) print(mytools.get_current_time()) # 也可以直接导入对应函数 from mytools import add_num print(add_num(3,4))
执行python3.9 test.py,正常输出结果说明配置成功。
注意事项
- 包名不要和Python标准库、已安装的第三方库重名,否则会出现导入冲突
- 如果使用虚拟环境,需要先激活对应虚拟环境再执行安装命令,否则会安装到全局环境
- 后续更新函数后重新执行打包和升级安装命令即可:
python3.9 -m pip install --upgrade dist/mytools-0.0.1-py3-none-any.whl
内容的提问来源于stack exchange,提问作者Tarek Rahman
相关产品推荐
相关产品推荐

