鼠标滚动在win10 设置无效;右键菜单会自己弹出。
798
2022-05-30
文章目录
0. 前言
1. 准备工作
(1) 注册 pypi.org 用户
(2) 使用 pip 安装或升级几个必备工具
2. 规划文件目录
(1) __init__.py
(2) README.md
(3) setup.py
3. 生成安装包文件
4. 上传安装包文件
5. 安装
0. 前言
发布自己的python模块安装包,首先得把自己的模块做成 .whl 格式的文件,然后再找个地儿存放它,接下来就是在 pip 命令中使用 -i 参数指定这个地儿(下载源)。Just so sooooooooo
1. 准备工作
(1) 注册 pypi.org 用户
我原本就是 pypi 的注册用户,但当我上传 .whl 格式的文件时,却被提示无权限。仔细阅读相关文档才发现,还需要在https://test.pypi.org/account/register/ 注册。我不确定是不是仅在这里注册就可用了。
(2) 使用 pip 安装或升级几个必备工具
生成和上传 .whl 格式的文件需要几个特殊工具,好在这几个工具使用 pip 就可以轻松搞定。
python.exe -m pip install --user --upgrade setuptools wheel python.exe -m pip install --user --upgrade twine
1
2
2. 规划文件目录
假定要发布的模块名称为 wxgl,包含 scene.py, region.py, colorbar.py 等三个文件。文件目录结构如下:
/wxgl_pkg wxgl __init__.py colorbar.py region.py scene.py README.md setup.py
1
2
3
4
5
6
7
8
(1) init.py
该文件其内容可以为空。我的 init.py文件如下:
-*- coding: utf-8 -*- name = 'wxgl' version = "0.3.0" version_info = (0, 3, 0, 0)
1
2
3
4
5
(2) README.md
关于安装和使用的说明,文本文件,不能使用中文。
(3) setup.py
# -*- coding: utf-8 -*- import setuptools with open("README.md", "r") as fh: long_description = fh.read() setuptools.setup( name="wxgl", version="0.3.0", author="xufive", author_email="xufive@gmail.com", description="A 3d library based pyOpenGL.", long_description=long_description, long_description_content_type="text/markdown", url="https://github.com/xufie/wxgl", packages=setuptools.find_packages(), classifiers=[ "Programming Language :: Python :: 3", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", ], )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
提醒一点:License 很重要,pipy 检查很严格,不可乱写。最初是我使用 GPL,检查失败,后改用 MIT 才通过。
3. 生成安装包文件
运行 setup.py 脚本,生成安装包文件
python.exe setup.py sdist bdist_wheel
1
顺利的话,你可以看到 dist 文件夹:
/wxgl_pkg dist wxgl-0.3.0-py3-none-any.whl wxgl-0.0.1.tar.gz wxgl __init__.py colorbar.py region.py scene.py README.md setup.py
1
2
3
4
5
6
7
8
9
10
11
如果只需要 .whl 文件,就运行:
python.exe setup.py bdist_wheel
1
4. 上传安装包文件
切换到setup.py的同级目录( 此时应该可以看到dist文件夹),运行:
python.exe -m twine upload --repository-url https://test.pypi.org/legacy/ dist/*
1
这是pypi提供的一个测试用的仓库。根据提示输入用户名、密码,稍等片刻,即可完成。当然,也可以用下面的命令直接上传到https://upload.pypi.org/legacy/之下,这是正式的python模块仓库。
python.exe -m twine upload dist/*
1
5. 安装
如果上一步上传到了测试用的仓库,安装时请使用 -i 参数,指定安装源为https://test.pypi.org/simple/,其他参数不变:
pip install -i https://test.pypi.org/simple/ wxgl
1
如果上一步上传到了正式的仓库,安装就和所有的模块一样了:
pip install wxgl
1
Python
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。