背景
在学习使用Python的过程中,当我们熟练到一定程度之后,我们会积累很多相关的经验和知识,有时候我们已经写过了很多代码,我们会想尝试着把我们的代码封装成一个类似于可以使用pip 安装的那种包的形式,或者是把自己的代码封装成一个包文件夹的形式,这样做的好处是可以让我们下次直接初始化使用或者是对接别人的时候可以让他们直接调用,这样会方便很多。
步骤
要将自己的代码封装成一个包,让别人可以调用,可以按照以下步骤进行操作尝试:
- 首先创建一个文件夹,作为你的包的根目录。命名为你想要的包名,比如"MyPackage"。
- 在根目录下创建一个名为
__init__.py
的文件,这是一个空文件,用于指示该目录是一个包。 - 在根目录下创建一个或多个模块文件,比如
module1.py
和module2.py
。在这些模块文件中编写你的代码。当然,也可以在这里面在创建包文件夹。 - 在根目录下创建一个
setup.py
文件,用于定义你的包的元数据和依赖关系。以下是一个示例setup.py
文件的内容:
from setuptools import setup
setup(
name='MyPackage',
version='1.0',
packages=['MyPackage'],
install_requires=[
'dependency1',
'dependency2',
],
author='Your Name',
author_email='your.email@example.com',
description='A description of your package',
url='https://github.com/yourusername/MyPackage',
)
请注意,packages
参数的值应与根目录的包名保持一致。
5.在命令行中进入到包的根目录,并运行以下命令来构建你的包:
python setup.py sdist
这将在dist
目录中生成一个压缩文件,其中包含你的包的源代码。
6. 如果你想将你的包发布到Python Package Index(PyPI),可以按照PyPI的要求进行注册 和上传。
现在,别人可以使用以下方式来安装和调用你的包:
1.首先,他们需要安装你的包的依赖关系。他们可以在命令行中运行以下命令:
pip install dependency1 dependency2
2.然后,他们可以通过运行以下命令来安装你的包:
pip install YourPackageName
3.最后,他们可以在他们的代码中导入你的包并调用其中的函数和类:
from MyPackage.module1 import function1
from MyPackage.module2 import MyClass
function1()
obj = MyClass()
测试
下面进行一个简单的自建包测试,没有进行发布。
1.建立一个叫"good"的文件夹
2. 在文件夹里面建立一个Test.py的模块文件
3. 在Test.py文件夹里面进行函数书写或者类书写,比如:
def test():
print('hello world!')
4.写一个测试文件main.py,内容如下:
from good.Test import test
test()
5. 运行测试
关于如何在PyPi上发布及安装的,可以参考官网说明进行尝试.