1、新建一个文件夹,文件名可以自定义,用来存放文档。
2、再新建一个文件夹,文件夹名自定义,但此处一般为工程名,我命名为packer。
3、分别新建LICENCE、README.md(markdown文件)、requirements.txt、setup.py文件,注意文件尾缀。
4、在pycharm编译器里面打开这个文件夹,然后新建一个file,命名为“.gitignore",用来在checkin的时候忽略掉一些文件,而此处一般选择忽略的文件为:
.idea/
__pycache__/
用pycharm打开的目录路径下会默认有一个.idea/ 文件夹。
5、编辑自己的 README.md 说明文档
内容包括:
# 概括
## 说明
本包名字为*packer*,使用方法包括...
### 打包方法
### 安装方法
### 参数说明
### 错误反馈
6、编辑setup.py文件内容
按照官方格式:
from __future__ import print_function
from setuptools import setup, find_packages
import sys
setup(
name="packer",
version="0.1.0",
author="", #作者名字
author_email="",
description="Python Framework.",
license="MIT",
url="", #github地址或其他地址
packages=find_packages(),
include_package_data=True,
classifiers=[
"Environment :: Web Environment",
'Intended Audience :: Developers',
'License :: OSI Approved :: MIT License',
'Natural Language :: Chinese',
'Operating System :: MacOS',
'Operating System :: Microsoft',
'Operating System :: POSIX',
'Operating System :: Unix',
'Topic :: NLP',
'Topic :: Software Development :: Libraries :: Python Modules',
'Programming Language :: Python :: 3.5',
'Programming Language :: Python :: 3.6',
],
install_requires=[
'pandas>=0.20.0', #所需要包的版本号
'numpy>=1.14.0' #所需要包的版本号
],
zip_safe=True,
)
7、在工程文件夹"packer"目录下新建一个utils的package,默认自带一个__init__.py文件,即调用该包就自动执行该文件。然后在包里面新建一个自己想要拥有的函数。
8、在工程名文件夹下再新建一个__main__.py文件,用来执行函数。
9、最后打开原来最开始用来存放文档新建的文件夹,在此处位置打开命令窗口,在命令窗口中输入:
python .\setup.py sdist
最终生成一个dist文件夹,在文件夹里面就有一个创建好的安装包
10、经过以上步骤已经可以生成一个pip可安装的工程包,安装非常简单。
直接在命令窗口输入:
pip install .\dist\packer-0.1.0.tar.gz
即可完成安装。
注意:
安装时先会检查是否满足安装的条件,比如pandas的包的版本号等。
11、检查是否安装成功
在原来的packer文件夹下打开命令窗口,输入:
python -m packer
就可以看到输出,也即包安装成功。
当然实际开发当中为了可以在命令窗口直接运行代码,又不得不输入参数的时候,必须要为包添加一个输入参数的功能
12、添加接受参数的功能
在刚刚编辑的__main__.py文件下,修改成一下格式:
from argparse import ArgumentParser,ArgumentDefaultsHelpFormatter
from packer.utils.common import hello_world
def parse_args():
parser = ArgumentParser(formatter_class=ArgumentDefaultsHelpFormatter,
conflict_handler='resolve')
parser.add_argument("-mess","--mss",help="type your message")
args = parser.parse_args()
return args
def main(args):
message = args.mess
output = hello_world(message)
print(output)
if __name__ == "__main__":
main(parse_args())
然后重新打包,也即上面提到的python .\setup.py sdist
命令,接着在命令窗口下重新安装该生成的安装包。
安装好之后在命令窗口输入:(-mess 是对应的参数)
python -m packer -mess xxx
则在窗口就会输出对应的:
Hello xxx
此外,因为已经pip install这个包了,则在这个包安装的虚拟环境下即可随意地import这个包,并调用里面的函数。
调用方法:
import packer
或from packer.utils.common import hello_world
示例:
from packer.utils.common import hello_world
hello_world("zz")
输出:
'Hello zz'
最后注意:
在__main__.py文件里面需要注意编程规范:
(1)如果没有类,则函数之间要空两行
(2)import与函数之间要空两行
(3)单词不要编写错误