python创建模块并发布到pypi

1.注释代码
使用连续的三个双引号开头和结尾,中间的部分就是注释内容
2.
python shell中键入:import sys; sys.path(在一行)显示搜索模块的路径
3.将函数打包成模块,在本地安装
3.1在文件test1.py中定义一个函数
"""定义了一个test1的module,提供了print_hello()函数"""
def print_hello():
    """print_hello函数主要功能是输出一个'Hello World!'字符串"""
    print("Hello World!")
3.2创建一个文件夹名字和test1.py名相同,为test1。把test1.py放到test1文件夹中

3.3在test1文件夹中创建一个文件setup.py,文件内容是

```
from distutils.core import setup
setup(
    name            = '自定义',
    version         = '自定义',
    py_modules      = ['test1'],
    author          = '自定义',
    author_email    = '自己写',
    url             = '随便写的',
    description     = '描述',
)

```


3.4打开命令行,进入test1目录中,执行:python setup.py sdist。转化为模块

3.5打开命令行,进入test1目录中,执行:python setup.py install。将模块安装到本地(一般放到python安装目录下的Lib文件夹中)
4.导入test1模块:import test1
    在使用print_hello函数时必须加上命名空间test1(在安装模块时,自动创建一个和模块名相同的命名空间),如:test1.print_hello();

    如果要使用没有命名空间的方式,引入时要这么写:from test1 import print_hello,然后使用时这么写:print_hello()。这种方式会覆盖原先已经存在的print_hello()函数
5.在http://pypi.python.org注册账号
具体我就不写了,相信大家自己能解决
6.在user/tank文件夹下创建.pypirc文件内容是
这块可以参考官方给的文档:https://packaging.python.org/guides/migrating-to-pypi-org/#uploading
[distutils]
index-servers =
    pypi

[pypi]
repository: https://upload.pypi.org/legacy/
username:账号
password:密码
    安装twine:pip install twine

    在test1文件夹中,执行 :twine upload dist/*

    按说到这里就可以成功了,但我实验的时候总是报错--- HTTPError: 403 Client Error: You are not allowed to upload to 'test1'. for url: https://upload.pypi.org/legacy/,找了好久没有解决方法!!!


    经多次实验得出结论,因为test1这个module名已经被占用了,所以一直不能上传。之后打包的时候把module名改成了testtank001,果然上传成功了!!!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值