Python 是一门非常流行的高级编程语言, 其中一个主要的优点就是能够编写模块来减少重复的代码。在实际应用中,我们通常需要将多个模块组合成一个库并方便其他程序使用。接下来,我将为大家详细讲解 Python 中如何将若干个模块打包成一个库,以便其他模块调用。
1. 创建项目并编写模块
首先,我们需要创建一个项目,并且在项目中编写模块。对于该项目, 我们可以使用以下的项目结构:
hiLibrary/
|-- hiLibrary/
| |-- __init__.py
| |-- module1.py
| |-- module2.py
|-- setup.py
|-- README.md
在这个结构中,我们有一个顶级目录 hiLibrary
,其中包含一个主程序包__init__.py
和两个模块module1.py
和module2.py
。根据实际需求修改module1.py和module2.py文件的内容以提供对外使用的函数或类。
创建完成后,可以通过 pip install -e .
命令来安装此库. 这样可以方便的在其他程序中引用该库.
2. 创建setup.py
接下来, 我们需要创建一个 setup.py
文件,这个文件可以使用 Python 自带的模块setuptools
。setuptools
还提供了与打包、发布、安装和卸载 Python 包有关的一些功能。我们的setup.py
文件需要包含以下内容:
from setuptools import setup, find_packages
setup(
name='hiLibrary',
version='0.1',
description='A demo library',
packages=find_packages(),
install_requires=[
'numpy',
'pandas'
],
url='https://github.com/username/hiLibrary',
author='John Smith',
author_email='john.smith@example.com'
)
其中:
name
: 是你的包的名称。version
: 是你的包的版本号。description
: 是你的包的简短描述。packages
: 是安装和分发包的 Python 包的列表。在这个示例中,使用find_packages()
方法,它会默认找到顶级包(hiLibrary
)并包含其中的所有子包。install_requires
: 是当前包需要的依赖关系列表。url
: 包的主页链接.author
: 创建包的作者。author_email
: 创建包作者的电子邮件。
3. 构建和安装
构建和安装此包非常容易。 首先在setup.py
所在目录中运行:
python setup.py sdist bdist_wheel
这个命令将会在dist
目录中生成两个文件,一个是源代码包(.tar.gz
), 一个是轮子包(.whl
)。此时可以将它们上传到 PyPI (Python Package Index) 中并下载使用,但我们这里是在本地完成,进行安装:
pip install dist/hiLibrary-0.1-py3-none-any.whl
现在,您的hiLibrary
库就已经被成功地安装到本地 Python 环境中了。
示例
下面使用一个简单的实例来展示如何使用刚刚打包好的 hiLibrary 库。
from hiLibrary.module1 import add, mul # 导入模块中的函数
from hiLibrary.module2 import MyClass # 导入模块中的类
x = 3
y = 5
print(add(x, y)) # 调用模块中的函数
print(mul(x, y))
c = MyClass() # 实例化类
c.show_name()
输出:
8
15
MyClass
像这样,我们就可以方便地在其他项目中导入和使用我们的 hiLibrary
库了。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python实现打包成库供别的模块调用 - Python技术站