安装和更新最简单的方法setuptools
是pip
:
$ sudo python -m pip install --upgrade setuptools
创建一个简单的 Python 库,调用myhellolib
一些需要打包的示例代码。该库接受一个字符串,然后以大写字母打印该字符串。
两行代码,但是项目结构很重要,所以先创建目录树:
$ mkdir -p myhellolib.git/myhellolib
要确认此项目是可导入库(Python“模块”),请__init__.py
在代码目录中创建空文件以及包含代码的文件:
$ touch myhellolib.git / myhellolib / __init__.py
$ touch myhellolib.git / myhellolib / myhellolib.py
在myhellolib.py
文件中,输入这个简单的 Python 代码:
DEF招待员(小号):
打印(:S上())
图书馆是这样写的。
在打包之前,请测试您的库。创建一个myhellolib.git/test.py
文件并输入以下代码:
导入myhellolib。myhellolib 作为你好
你好。问候语(“你好 Opensource.com。” )
运行脚本:
$ cd myhellolib.git
$ python 。/ test.py
你好 OPENSOURCE.COM
它有效,所以现在您可以将其打包。
要使用 打包项目setuptools
,您必须创建一个.toml
标识setuptools
为构建系统的文件。将此文本放在myhellolib.toml
项目目录中名为的文件中:
[build-system]
requires = ["setuptools", "wheel"]
build-backend = "setuptools.build_meta"
接下来,创建一个名为 的文件setup.py
,其中包含有关您项目的元数据:
from setuptools import setup
setup (
name = 'myhellolib' ,
version = '0.0.1' ,
packages = [ 'myhellolib' ] ,
install_requires = [
'requests' ,
'importlib; python_version == "3.8"' ,
] ,
)
信不信由你,这就是设置setuptools
所需的全部内容。您的项目已准备好打包。
要创建 Python 包,您需要一个构建器。一个常用工具是build
,您可以使用它安装pip
:
$ python -m pip install build --user
构建你的项目:
$ python -m build
片刻之后,构建完成,项目文件夹中有一个名为dist
. 该文件夹包含一个.tar.gz
和一个.whl
文件。
你的第一个 Python 包!以下是每一个包含的内容:
$ tar --list --file dist / myhellolib-0.0.1.tar.gz
myhellolib-0.0.1 /
myhellolib-0.0.1 / PKG-INFO
myhellolib-0.0.1 / myhellolib /
myhellolib-0.0.1 / myhellolib / __init__.py
myhellolib-0.0.1 / myhellolib / myhellolib.py
myhellolib-0.0.1 / myhellolib.egg-info /
myhellolib-0.0.1 / myhellolib.egg-info / PKG-INFO
myhellolib-0.0.1 / myhellolib.egg -info / SOURCES.txt
myhellolib-0.0.1 / myhellolib.egg-INFO / dependency_links.txt
myhellolib-0.0.1 / myhellolib.egg-INFO / requires.txt
myhellolib-0.0.1 / myhellolib.egg-INFO / top_level.txt
myhellolib-0.0.1 / setup.cfg
myhellolib-0.0.1 / setup.py
$ unzip -l dist / myhellolib-0.0.1-py3-none-any.whl
存档:dist / myhellolib-0.0.1-py3-none-any.whl
名称
----
myhellolib / __init__.py
myhellolib /myhellolib.py
myhellolib-0.0.1.dist-info / METADATA
myhellolib-0.0.1.dist-info / WHEEL
myhellolib-0.0.1.dist-info / top_level.txt
myhellolib-0.0.1.dist-info / RECORD
- ------
6 个文件
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。