python中,我们会在自己业务中,重复性的使用某些功能。我们可以把这些公用的模块,打包上传,然后给需要的人使用,pypi给我们提供了这个机会 |
本期目录
一、准备工作
二、编写文件
三、上传下载
一、准备工作
1、需要github账号(这个就忽略)
2、需要pypi账号
*这里需要注意开启Two factor authentication (2FA)认证
我选择的是google authenticator,验证码在上面实时更新
3、下载、上传,如果是用的anaconda,注意别用错了虚拟环境。梯子可能要撤掉(坑)
返回顶部目录
二、编写文件
代码:
/StringAndDate_jasa163
----/StringAndDate_jasa163.py
----/setup.py
----/README.md
----/LICENSE
----/_init_.py
其中StringAndDate_jasa163文件夹只是一个单纯的目录,取任何名字皆可。只是用于区分其他文件。
StringAndDate_jasa163.py是库,即你的库的核心文件(虽然也只有一个文件(bruh))
README.md是你库的长描述文件,后期我们对库的描述都在这里面
setup.py是将项目打包的文件
setup.py:
from setuptools import setupsetup(name='StringAndDate_jasa163',version='1.0.0',description='Your module description',author='jasa163',url='https://github.com/hnust-xijing/python-games',author_email='jasa163@163.com'
)
StringAndDate_jasa163.py:
注意:version = '1.0.0’要与setup.py里面的一样
import datetime
import os__version__ = '1.0.0'class StringAndDate(object):、、、、、、
init.py:
可以为空,但一定要有,程序会把这个文件下当成入口
返回顶部目录
三、上传下载
1、生成文件:
先安装如下:
python -m pip install --user --upgrade setuptools wheel
python -m pip install --user --upgrade twine
setuptools和wheel用于构建项目;twine用于上传文件至Pypi。首先检查setup.py语法是否正确:
python setup.py check
构建
python setup.py sdist bdist_wheel
生成3个文件夹:
/StringAndDate_jasa163
----/pgzero_template.egg-info
----/dist
----/build
最重要的是dist
2、上传文件
上面步骤中的Two factor authentication (2FA)认证一定要认证。不然会包二重认证不存在错误(坑)
方法一:
直接cmd
twine upload --repository-url https://upload.pypi.org/legacy/ dist/*
方法二:
在C:\Users\用户名创建文件.pypric
echo a 2>.pypric
文件中写入:
[distutils]
index-servers=pypi[pypi]
repository = https://upload.pypi.org/legacy/
username: [username]
password: [password]
再cmd:
twine upload dist/*
3、尝试导入
pip install StringAndDate_jasa163
成功
返回顶部目录