内容简介:请记住选择.gitignore和liensce文件。 .gitignore文件可以帮助您避免将一些中间文件提交到git存储库。找到存储库的git地址,并通过执行以下操作将代码下载到本地目录。现在是时候设计你的包结构了。
请记住选择.gitignore和liensce文件。 .gitignore文件可以帮助您避免将一些中间文件提交到git存储库。
找到存储库的git地址,并通过执行以下操作将代码下载到本地目录。
git clone https://github.com/xxxx/mydates.git 复制代码
3. 设计包结构
现在是时候设计你的包结构了。
我们将编写一个名为 mydates
的简单包,它包含两个模块 - Dates
和 core
。 Dates
有一个类 Important_Dates()
。这个类用两个变量初始化: birth_day
和 wedding_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_test
。 from . 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包的结构如下:
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包!
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- vueSSR: 从0到1构建vueSSR项目 --- 路由的构建
- 在 Android Studio 里使用构建分析器提升构建性能
- [译] 使用 React 和 ImmutableJS 构建一个拖放布局构建器
- 为 Envoy 构建控制面指南第4部分:构建的可扩展性
- 自动化构建工具 Gradle 4.5 RC1 发布,改进构建缓存
- 构建工具篇 - react 的 yarn eject 构建命令都做了什么
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
C++面向对象程序设计
萨维奇 (Walter Savitch) / 周靖 / 清华大学出版社 / 2003-12 / 59.0
《C++面向对象程序设计》具备良好的编排体系,适合打算涉足编程领域的读者阅读,尤其适合大一学生。它最大的特色是Savitch教授最受欢迎的写作风格,这一风格非常适合初学者,能迅速引导他们开始编程实践。《C++面向对象程序设计》包括全面的习题、项目、编程提示、编程示例、编程陷阱以及有用的小结,以帮助初学者更清楚地了解C++。一起来看看 《C++面向对象程序设计》 这本书的介绍吧!