學習筆記發布自己的python模塊安裝包

      網友投稿 942 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

      學習筆記:發布自己的python模塊安裝包

      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小時內刪除侵權內容。

      上一篇:創建型 --- 生成器模式
      下一篇:Python:orator/backpack內置數據操作類Collection
      相關文章
      亚洲综合日韩中文字幕v在线 | 亚洲乱码国产一区网址| 久久精品亚洲一区二区| 国产成人人综合亚洲欧美丁香花 | 五月婷婷亚洲综合| 亚洲综合av一区二区三区不卡| 亚洲综合国产精品| 亚洲AV午夜福利精品一区二区| 亚洲午夜精品第一区二区8050| 亚洲精品久久久久无码AV片软件| 亚洲一区二区三区免费在线观看| 久久亚洲精品中文字幕| 久久亚洲国产午夜精品理论片| 亚洲综合无码AV一区二区| 亚洲成a人片在线观看日本麻豆| 亚洲精品无码mⅴ在线观看| 亚洲中文无码亚洲人成影院| 日韩亚洲人成在线| 亚洲激情视频图片| 伊人久久五月丁香综合中文亚洲| 亚洲中文无码a∨在线观看| 亚洲精品电影在线| 91嫩草亚洲精品| 亚洲日韩乱码久久久久久| 亚洲国产另类久久久精品| 亚洲中文字幕无码久久综合网| 亚洲美女高清一区二区三区| 亚洲一级特黄大片无码毛片| 亚洲女人被黑人巨大进入| 亚洲日本va午夜中文字幕久久| 国产成人高清亚洲一区久久| 亚洲精品乱码久久久久久蜜桃图片 | 亚洲最大天堂无码精品区| 亚洲日产乱码一二三区别| 麻豆亚洲AV成人无码久久精品| 亚洲av无码成人精品区| 亚洲女同成av人片在线观看| 亚洲国产天堂久久综合网站| 亚洲国产精品成人久久久| 亚洲人成色77777在线观看| 亚洲AV无码乱码在线观看|