一、打包应用程序
python中的代码需要重复使用,我们可以对它进行封装。
包需要重复使用,我们需要怎么做呢?
我们可以参考一下Django这个包,然后自己实现一个第三方.在进行pip install
1.创建一个包
# 我们这里拿一个py(newtime)代替
# newtime.py
import time
print("调用这个包就休息5秒")
time.sleep(5)
print("接受")
2. 创建一个父目录。
#称这个目录为Mynewtime。
3. 将写好的包文件移动到Mynewtime
目录中
4.创建一个说明文件Mynewtime/README.rst
文件的内容(就是写告诉别人应该怎么用【!用英文】)
=====
newtime
=====
holle word
-----------
1.one
2.two
5.创建一个许可证文件Mynewtime/LICENSE
文件
公开发布的代码如果没有License是毫无用处的。 Django和许多Django兼容的应用程序是根据BSD许可证分发的;但是,您可以自由选择自己的许可证。 只需知道你所选择的License,将决定谁能使用你的代码.
6.创建一个setup.py
文件
它提供如何构建和安装该应用的详细信息,主要用于使用范围等等。
import os
from setuptools import find_packages, setup
with open(os.path.join(os.path.dirname(__file__), 'README.rst')) as readme:
README = readme.read()
# allow setup.py to be run from any path
os.chdir(os.path.normpath(os.path.join(os.path.abspath(__file__), os.pardir)))
setup(
name='newtime',
version='0.1',
packages=find_packages(),
include_package_data=True,
license='BSD License', # example license
description='A simple Django app to conduct Web-based polls.',
long_description=README,
url='https://www.example.com/',
author='Your Name',
author_email='yourname@example.com',
classifiers=[
'Environment :: Web Environment',
'Framework :: Django',
'Framework :: Django :: X.Y', # replace "X.Y" as appropriate
'Intended Audience :: Developers',
'License :: OSI Approved :: BSD License', # example license
'Operating System :: OS Independent',
'Programming Language :: Python',
# Replace these appropriately if you are stuck on Python 2.
'Programming Language :: Python :: 3',
'Programming Language :: Python :: 3.4',
'Programming Language :: Python :: 3.5',
'Topic :: Internet :: WWW/HTTP',
'Topic :: Internet :: WWW/HTTP :: Dynamic Content',
],
)
7.创建一个MANIFEST.in
文件
可以包含额外的文件
include LICENSE
include README.rst
8.创建一个空目录docs(选择)
里面可以放详细说明文档
向Mynewtime/MANIFEST.in
添加另外一行:
recursive-include docs *
9.通过python setup.py sdist
构建你的包
创建成功会多一个dist,newtime.egg-info文件夹
直接在这个文件夹下打开cmd(Shift+右键)[在此次打开powershell窗口]
在输入命令`python setup.py sdist` 构建
二、使用你自己的包
1.查看包pip list
2.安装软件包
pip install dist/newtime-0.1.tar.gz
pip list查看一下
3.使用
4.卸载包
pip uninstall newtime