电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

python 如何上傳包到pypi

瀏覽:89日期:2022-07-01 11:11:59

有過一定的 Python 經驗的開發者都知道,當引入第三方包時,我們常常會使用 pip install 命令來下載并導入包。

那么,如何寫一個自己的包,上傳到 PyPI 呢,其他開發者也可以通過 pip install 命令下載并導入?

本文提供了最簡單的示例。

準備好項目目錄

創建一個項目目錄,其目錄結構如下:

/packaging_tutorial /example_pkg __init__.py

其中,packaging_tutorial 是一個文件目錄,example_pkg 是一個你希望上傳的 Python 包。

注:本人使用的是 virtualenv + virtualenvwrapper 構建的 Python 虛擬環境,因此 python 和 pip 命令(而非 python3 和 pip3)直接對應的是我所指定的虛擬環境(Python 3.6.7)。

創建一些必要文件

再向 packaging_tutorial 中創建一些文件。其目錄結構如下:

/packaging_tutorial /example_pkg __init__.py setup.py LICENSE README.md創建 README.md 文件

在 README.md 可以輸入一些介紹項目的文檔。

# 測試這只是一個測試。- 測試 1- 測試 2- 測試 3創建 setup.py 文件

setup.py 是 setuptools 的構建腳本,它提供了包的各種信息。

在 setup.py 中輸入以下代碼:

import setuptoolswith open('README.md', 'r') as fh: long_description = fh.read()setuptools.setup( name='example-pkg-your-username', version='0.0.1', author='Example Author', author_email='author@example.com', description='A small example package', long_description=long_description, long_description_content_type='text/markdown', url='https://github.com/pypa/sampleproject', packages=setuptools.find_packages(), classifiers=[ 'Programming Language :: Python :: 3', 'License :: OSI Approved :: MIT License', 'Operating System :: OS Independent', ],)

各個配置的字段的含義應該是不言而喻的,如果想了解更多,參見官網解釋。

創建 LICENSE

LICENSE 是項目所遵循的許可證,以 MIT 為例:

Copyright (c) 2018 The Python Packaging AuthorityPermission is hereby granted, free of charge, to any person obtaining a copyof this software and associated documentation files (the 'Software'), to dealin the Software without restriction, including without limitation the rightsto use, copy, modify, merge, publish, distribute, sublicense, and/or sellcopies of the Software, and to permit persons to whom the Software isfurnished to do so, subject to the following conditions:The above copyright notice and this permission notice shall be included in allcopies or substantial portions of the Software.THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS ORIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THEAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHERLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THESOFTWARE.存檔發布版本

一般來說,pip 默認應該都安裝了 setuptools 和 wheel。如果沒有安裝,則安裝之:

pip install setuptools wheel -i https://pypi.douban.com/simple

如果安裝需要更新,則更新之:

pip install --upgrade setuptools wheel -i https://pypi.douban.com/simple

安裝好最新版本后,在 setup.py 所在目錄下輸入:

python setup.py sdist bdist_wheel

這個命令會在生成一個 dist 目錄,里面有兩個文件:

dist/ example_pkg_your_username-0.0.1-py3-none-any.whl example_pkg_your_username-0.0.1.tar.gz

tar.gz 是源文件存檔,whl 是構建的發布版本。

上傳發布版本

安裝 twine:

pip install twine -i https://pypi.douban.com/simple

安裝好之后,執行 twine 命令(這里,需要注意你已經注冊了 PyPI 的賬號):

twine upload dist/*

Enter your username: heyulong Enter your password: Uploading distributions to https://upload.pypi.org/legacy/Uploading example_pkg_heyulong-0.0.1-py3-none-any.whl100%|??????????????????????????????????????| 5.49k/5.49k [00:01<00:00, 4.66kB/s]Uploading example-pkg-heyulong-0.0.1.tar.gz100%|??????????????????????????????????????| 4.23k/4.23k [00:01<00:00, 2.21kB/s]

執行完之后,即可在 PyPI 官網上看到自己上傳的項目了。

安裝你上傳的 PyPI 項目,比如我的:

pip install example-pkg-heyulong

這里簡單介紹了上傳 PyPI 項目的過程。更多細節請關注 PyPI 官網。

以上就是python 如何上傳包到pypi的詳細內容,更多關于python 上傳包到pypi的資料請關注好吧啦網其它相關文章!

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 铝扣板-铝方通-铝格栅-铝条扣板-铝单板幕墙-佳得利吊顶天花厂家 elisa试剂盒价格-酶联免疫试剂盒-猪elisa试剂盒-上海恒远生物科技有限公司 | Type-c防水母座|贴片母座|耳机接口|Type-c插座-深圳市步步精科技有限公司 | 上海网站建设-上海网站制作-上海网站设计-上海做网站公司-咏熠软件 | 玻纤土工格栅_钢塑格栅_PP焊接_单双向塑料土工格栅_复合防裂布厂家_山东大庚工程材料科技有限公司 | 武汉画册印刷厂家-企业画册印刷-画册设计印刷制作-宣传画册印刷公司 - 武汉泽雅印刷厂 | [官网]叛逆孩子管教_戒网瘾学校_全封闭问题青少年素质教育_新起点青少年特训学校 | 沈阳激光机-沈阳喷码机-沈阳光纤激光打标机-沈阳co2激光打标机 | 有机肥设备生产制造厂家,BB掺混肥搅拌机、复合肥设备生产线,有机肥料全部加工设备多少钱,对辊挤压造粒机,有机肥造粒设备 -- 郑州程翔重工机械有限公司 | 北京征地律师,征地拆迁律师,专业拆迁律师,北京拆迁律师,征地纠纷律师,征地诉讼律师,征地拆迁补偿,拆迁律师 - 北京凯诺律师事务所 | 电缆接头-防爆电缆接头-格兰头-金属电缆接头-防爆填料函 | 氧化锆陶瓷_氧化锆陶瓷加工_氧化锆陶瓷生产厂家-康柏工业陶瓷有限公司 | 福尔卡(北京)新型材料技术股份有限公司| 置顶式搅拌器-优莱博化学防爆冰箱-磁驱搅拌器-天津市布鲁克科技有限公司 | pos机办理,智能/扫码/二维码/微信支付宝pos机-北京万汇通宝商贸有限公司 | 恒温恒湿箱(药品/保健品/食品/半导体/细菌)-兰贝石(北京)科技有限公司 | 防火窗_耐火窗_防火门厂家_防火卷帘门-重庆三乐门业有限公司 | 品牌广告服务平台,好排名,好流量,好生意。 | 整车VOC采样环境舱-甲醛VOC预处理舱-多舱法VOC检测环境仓-上海科绿特科技仪器有限公司 | 商秀—企业短视频代运营_抖音企业号托管| 贴板式电磁阀-不锈钢-气动上展式放料阀-上海弗雷西阀门有限公司 工业机械三维动画制作 环保设备原理三维演示动画 自动化装配产线三维动画制作公司-南京燃动数字 | 连续油炸机,全自动油炸机,花生米油炸机-烟台茂源食品机械制造有限公司 | 依维柯自动挡房车,自行式国产改装房车,小型房车价格,中国十大房车品牌_南京拓锐斯特房车 - 南京拓锐斯特房车 | 高效复合碳源-多核碳源生产厂家-污水处理反硝化菌种一长隆科技库巴鲁 | 汽车整车综合环境舱_军标砂尘_盐雾试验室试验箱-无锡苏南试验设备有限公司 | 天津次氯酸钠酸钙溶液-天津氢氧化钠厂家-天津市辅仁化工有限公司 | 合肥抖音SEO网站优化-网站建设-网络推广营销公司-百度爱采购-安徽企匠科技 | 东莞工厂厂房装修_无尘车间施工_钢结构工程安装-广东集景建筑装饰设计工程有限公司 | 丝印油墨_水性油墨_环保油墨油漆厂家_37国际化工 | 活性炭-果壳木质煤质柱状粉状蜂窝活性炭厂家价格多少钱 | 氧化铁红厂家-淄博宗昂化工 | 钢格板|热镀锌钢格板|钢格栅板|钢格栅|格栅板-安平县昊泽丝网制品有限公司 | 工业洗衣机_工业洗涤设备_上海力净工业洗衣机厂家-洗涤设备首页 bkzzy在职研究生网 - 在职研究生招生信息咨询平台 | 仓储货架_南京货架_钢制托盘_仓储笼_隔离网_环球零件盒_诺力液压车_货架-南京一品仓储设备制造公司 | PVC地板|PVC塑胶地板|PVC地板厂家|地板胶|防静电地板-无锡腾方装饰材料有限公司-咨询热线:4008-798-128 | 临沂招聘网_人才市场_招聘信息_求职招聘找工作请认准【马头商标】 | 环境模拟实验室_液体-气体控温机_气体控温箱_无锡双润冷却科技有限公司 | 安徽净化工程设计_无尘净化车间工程_合肥净化实验室_安徽创世环境科技有限公司 | 气动机械手-搬运机械手-气动助力机械手-山东精瑞自动化设备有限公司 | 海鲜池-专注海鲜鱼缸、移动海鲜缸、饭店鱼缸设计定做-日晟水族厂家 | 污水提升器,污水提升泵,污水提升装置-德国泽德(zehnder)水泵系统有限公司 | 欧景装饰设计工程有限公司-无锡欧景装饰官网 |