日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python模块打包上传pypi

發布時間:2023/12/29 python 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python模块打包上传pypi 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

python模塊打包上傳pypi


pypi注冊

先在pypi.org上注冊賬戶密碼,務必牢記

模塊盡量都保存在包中,如果要進行模塊的定義,首先定義的就是包,

所以每個目錄下需要一個__init__.py的文件,可以為空內容,但必須有。

我的包結構:

項目的根目錄,保存所有的項目代碼程序執行文件,main.py,移動程序setup.py,打包及其信息說明【包】包名,從此處開始到末尾,統稱為模塊__init__.py【包】包名__init__.py【包】包名__init__.py源文件名.py

這是當時我做的包結構:

PS D:\demo> tree /f 卷 Data 的文件夾 PATH 列表 卷序列號為 94F1-75D8 D:. │ main.py │ setup.py │ └─qiye│ __init__.py│└─github│ __init__.py│└─iogame1.py__init__.py

在根目錄創建 " setup.py " 文件 ( 與 main.py 同級 )
假如在根目錄沒有setup.py文件,則創建。
包設定

from setuptools import setup,find_packages setup(name = "qiye-game1", #包的名稱version = "0.1.1", #版本author = "qiye", #作者名#url = "qiyenull.github.io", 網站,不是必要,此網站需要存在且未被占用description = "孤獨終老", #包的信息說明packages = find_packages("qiye"), #打包時,開始的目錄package_dir = {"":"qiye"}, # 告訴 setuptools 包都在 qiye 下package_data = {## 包含 data 文件夾下所有的 *.dat 文件"":[".txt", ".info", "*.properties", ".py"],"":["data/*.*"],},# 取消所有測試包exclude = ["*.test", "*.test.*", "test.*", "test"])

定義完成打包的部署文件后,進行程序的執行,執行時可以設置多種類型的包

建議寫main.py文件

import qiye.github.io.game1 as msg print(msg.get_info())

這樣使用時可以快速調用


虛擬環境

使用 pip 下載虛擬環境

pip install virtualenv

可在C:\Program Files\Python38\Lib\venv\scripts\nt找到activate.bat文件
打開cmd,切換到這個目錄,執行activate.bat
可以發現成功進入到虛擬環境**VENV_PROMPT**中

驗證能否正常使用

__VENV_PROMPT__C:\Program Files\Python38\Lib\venv\scripts\nt>pip list

如果正常,會顯示已安裝的python模塊名和版本,即可正常使用


打包上傳

在虛擬環境下來到要上傳文件的根目錄

__VENV_PROMPT__D:\demo>

測試文件是否能夠使用

__VENV_PROMPT__D:\demo>dir驅動器 D 中的卷是 Data卷的序列號是 94F1-75D8D:\demo 的目錄2022/03/21 13:14 <DIR> . 2022/03/21 13:14 <DIR> .. 2022/03/17 07:46 59 main.py 2022/03/21 13:14 <DIR> qiye 2022/03/18 11:11 435 setup.py2 個文件 494 字節3 個目錄 83,926,605,824 可用字節__VENV_PROMPT__D:\demo>python main.py **************************************** * ***** ** **** *** qiye is so boring! *** **** ** ***** * **************************************** None__VENV_PROMPT__D:\demo>

驗證完成后,安裝幾個必要軟件

pip install twine 上傳需要 pip install wheel 打包需要

開始打包

__VENV_PROMPT__D:\demo>python setup.py sdist bdist_wheel

他會出現打包的過程,假如報錯,那就有可能setup.py文件語法出問題了,請根據報錯提示定位修改,不然就是少必要軟件了
成功會出現2個文件夾:

開始上傳
我們只需要上傳dist文件夾里的所有文件就行

twine upload dist/* #上傳

他會提示你輸入username和password
輸入你在pypi注冊時的用戶名和密碼
能正常上傳就行


這里上傳可能會出現了幾種問題,(我把坑踩完了) 1、出現twine不會被識別為內部或外部命令

解決:把C:\Users\myname\AppData\Roaming\Python\Python36\Scripts加入系統變量

2、HTTPError: 403 Forbidden from https://upload.pypi.org/legacy/
Invalid or non-existent authentication information. See https://pypi.org/help/#invalid-auth for more information.
用戶密碼錯誤

3、HTTPError: 400 Bad Request from https://upload.pypi.org/legacy/
User ‘xxx’ does not have a verified primary email address. Please add a verified primary email before attempting to upload to PyPI. See https://pypi.org/help/#verified-email for more information.
自己賬號的主郵箱沒有驗證,看看自己郵箱有沒有pypi發來的郵件

下載模塊

pip install 你的模塊名

pip install qiye-game1

總結

以上是生活随笔為你收集整理的python模块打包上传pypi的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。