📜  创建和访问Python包(1)

📅  最后修改于: 2023-12-03 14:50:15.389000             🧑  作者: Mango

创建和访问Python包

Python是一种富有表现力和易于学习的高级语言,它主要用于快速开发脚本、应用程序、自动化工具和数据科学计算等。在Python编程中,包(Package)是一种用于组织相关模块的特殊方式,允许您创建自己的库,并且可以轻松地在多个项目之间共享和重用代码。

创建包

要创建包,您需要按以下方式组织您的代码:

  1. 在您的项目根目录中创建一个名为“my_package”的目录(此处为包名称)。
  2. my_package目录中创建__init__.py空文件(必须包含此文件以使Python将该目录识别为包)。
  3. my_package目录中创建一些.py文件(作为要在包中包含的模块)。

例如,您可以用以下方式组织您的包:

my_project/
├── my_package/
│   ├── __init__.py
│   ├── module1.py
│   ├── module2.py
│   └── ...
└── ...
访问包

有两种方式可以导入包中的模块。第一种方式是使用绝对导入,包括拥有模块的完整包名称。例如:

import my_package.module1
my_package.module1.my_function()

第二种方式是使用相对导入,只包括相对当前模块的每个包和子包的名称集合。例如:

from . import module1
module1.my_function()

要执行此相对导入,该脚本应在包含my_package的目录中使用python -m my_package.script运行。任何情况下,当前目录中的Python解释器应设置为包所在的父文件夹。

使用模块

假设您有一个包含以下内容的my_module.py模块:

def my_function():
    print("Hello, World!")

您可以通过以下方式在代码中使用该模块:

import my_module
my_module.my_function()  # 输出 "Hello, World!"

或者,你可以使用相对导入:

from . import my_module
my_module.my_function()  # 输出 "Hello, World!"
发布包

一旦您创建了一个包,您可以将其上传到PyPI(Python包索引)并分享给其他开发者。要将包与PyPI一起使用,您需要执行以下步骤:

  1. 注册 PyPI 账户
  2. 使用 setuptools 或者 flit(i.e. pip install flit) 编写 setup.pypyproject.toml
  3. 编写 README.md
  4. 使用 setuptools 或者 flit(i.e. flit build) 构建您的包
  5. 使用 twine(i.e. pip install twine) 将包上传到 PyPI

例如,您可以使用以下命令将包上传到PyPI:

$ python setup.py sdist bdist_wheel
$ twine upload dist/*

到此,您的包就可以与全球Python社区共享并且可以分享给其他Python开发者了。

总结

Python包是一种组织相关模块的方式,有助于使您的代码更加的可重用,可测量和可扩展。从创建包开始到发布包,本文介绍了Python包的基本知识,帮助Python开发人员组织和分享代码。