學習筆記:發布自己的python模塊安裝包
文章目錄
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小時內刪除侵權內容。