手把手教你构建自己的第一个Python包

栏目: Python · 发布时间: 5年前

内容简介:请记住选择.gitignore和liensce文件。 .gitignore文件可以帮助您避免将一些中间文件提交到git存储库。找到存储库的git地址,并通过执行以下操作将代码下载到本地目录。现在是时候设计你的包结构了。

请记住选择.gitignore和liensce文件。 .gitignore文件可以帮助您避免将一些中间文件提交到git存储库。

找到存储库的git地址,并通过执行以下操作将代码下载到本地目录。

git clone https://github.com/xxxx/mydates.git
复制代码

3. 设计包结构

现在是时候设计你的包结构了。

我们将编写一个名为 mydates 的简单包,它包含两个模块 - DatescoreDates 有一个类 Important_Dates() 。这个类用两个变量初始化: birth_daywedding_day ,然后使用两个函数 get_days_passed_in_my_life()get_days_passed_in_marriage() 来计算相应的天数。· core 有一个测试函数 print_test() ,它只输出一个测试句子。

我们将两个模块放在文件夹 mydates 下。这里 mydates 是我们 Python 包的名称。在 mydates 文件夹下我们创建一个初始文件 __initi__.py 来告诉Python自动包含所有模块文件。 __init__.py 文件的内容如下:

from .core import *
from . import Dates
复制代码

以上我们展示了引用模块的两种不同方式。 from .core import * 表明可以直接从我们的包 mydates 中导入函数,例如 from mydates import print_testfrom . import Dates 意味着我们需要首先导入 Dates 模块,例如 from mydates import Dates

在我们准备好模块之后,我们为脚本 get_my_date.py 创建了另一个文件夹 scripts 。这个测试脚本如下:

from mydates import Dates
from mydates import print_test

birth_day = '1999-09-09'
wedding_day = '2012-05-09'

mydays = Dates.Important_Dates(birth_day, wedding_day)

mydays.get_days_passed_in_my_life()

mydays.get_days_passed_in_marriage()

print_test()
复制代码

整个Python包的结构如下:

手把手教你构建自己的第一个Python包

4. 编写setup.py文件

要安装我们的软件包 mydates ,我们还需要编写一个 setup.py 文件,如下所示:

from distutils.core import setup

setup(
    name='mydates',
    version='0.0.1',
    author='X.X',
    author_email='xx@example.com',
    url='www.example.com',
    license='LICENSE',
    packages=['mydates'],
    description='An example of building Python package.',
    install_requires=[
    #'python>=3.6.0',
    #'pandas>=0.10.0'
    ]
)
复制代码

大多数时候我们自己的包需要用到其他Python包的函数,也就是所谓的依赖包。有两种方法可以声明这些所依赖的包信息。

  • a) 把所需要的包信息写在 setup.py 文件的 install_requires 字典中。
  • b) 单独生成一个 requirements.txt 文件。

第二种方法是首选方法,因为它提供了所有必需包的最全面的列表。此处给出了两种方法详细对比说明. 本包中用到的 requirements.txt 文件如下:

python>=3.6.0
pandas>=0.1.0
复制代码

注:一般在开发一个Python包的时候会单独创建一个环境,然后我们可以用 pip freeze > requirements.txt 语句来自动生成 requirments.txt 文件。在安装的时候,可以用 pip install -r requirements.txt 安装相应的包。

5. 安装包的两种方法

现在我们可以安装我们的第一个Python包 mydates 了。同样,我们可以使用两种方式进行安装。

a)官方模式:在包根文件夹下运行 pip install . 。这与安装其他Python包类似。 b)开发模式: pip install -e . 。这样我们所做的任何更改都可以立即反映到包中,这是安装开发包的典型方法。

一旦我们安装了软件包,我们就可以转到 scripts 文件夹并运行测试脚本g et_my_dates.py ,它会给我们以下结果:

You have been living in this world for 7192 days!
You have been married for 2566 days!
This is a test.
复制代码

恭喜!至此你已经完成了你的第一个Python包!


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

数据结构与算法分析

数据结构与算法分析

张琨、张宏、朱保平 / 人民邮电出版社 / 2016-2-1 / 45

本书共分10章,主要包括第1章绪论,第2章线性表,第3章栈和队列,第4章串,第5章数组和广义表,第6章 树和二叉树,第7章图,第8章查找,第9章内部排序,第10章算法分析。其内容模块涵盖了课堂教学、习题课教学、实验教学、自学辅导、综合训练等。立体化教材的使用在提高教学效率、增强教学效果、加大教学信息量、培养学生的应用与实践能力。 作者简介一起来看看 《数据结构与算法分析》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

html转js在线工具
html转js在线工具

html转js在线工具