本篇內(nèi)容介紹了“怎么將自己寫(xiě)的模塊上傳到pypi”的有關(guān)知識(shí),在實(shí)際案例的操作過(guò)程中,不少人都會(huì)遇到這樣的困境,接下來(lái)就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
我們?cè)诎惭b第三方包的時(shí)候,直接一個(gè)pip install xxx命令就搞定了,然后pip會(huì)去pypi上尋找我們要安裝的包,然后下載下來(lái)。
而pypi(Python Package Index )你可以看成是官方維護(hù)的一個(gè)大倉(cāng)庫(kù),專門用來(lái)存儲(chǔ)世界各地的程序員編寫(xiě)的第三方模塊。我們使用pip進(jìn)行安裝的時(shí)候就會(huì)去這個(gè)倉(cāng)庫(kù)里面找,找到了進(jìn)行下載,找不到就提示不存在。
當(dāng)然我們?cè)诎惭b的時(shí)候還可以指定清華源、豆瓣源,因?yàn)閜ypi在國(guó)外,下載有時(shí)候比較慢,而一旦指定了國(guó)內(nèi)的源,那么就不會(huì)去pypi上下載了,所以你可以看成國(guó)內(nèi)也有倉(cāng)庫(kù),專門負(fù)責(zé)搬運(yùn)pypi里面的內(nèi)容。
總共分為三步:編寫(xiě)模塊、編譯模塊、上傳模塊。
我們看一下要上傳到pypi的模塊長(zhǎng)什么樣子。
hanser-module-upload:項(xiàng)目的根目錄
hanser:模塊名,我們后面可以使用from hanser import xxx,或者import hanser
hanser下面的兩個(gè)py文件:相應(yīng)的代碼
LICENSE:開(kāi)源的 LICENSE,如:Apache License 2.0,MIT License 等等
README.md:關(guān)于項(xiàng)目的描述,描述如何安裝、使用等情況
setup.py:setuptools 的構(gòu)建腳本
然后我們看看代碼長(zhǎng)什么樣子。
# calc.py def add(x: int, y: int) -> int: return x + y def sub(x: int, y: int) -> int: return x - y # __init__.py from .calc import add, sub
然后最重要的就是編寫(xiě)setup.py。
# setup.py 是一個(gè) setuptools 的構(gòu)建腳本,其中包含了項(xiàng)目和代碼文件的信息 # 如果沒(méi)有需要先安裝,pip install setuptools import setuptools setuptools.setup( # 項(xiàng)目的名稱 name="anser-module-upload", #項(xiàng)目的版本 version="0.0.1", # 項(xiàng)目的作者 author="布諾妮亞", # 作者的郵箱 author_email="hanser@baka.com", # 項(xiàng)目描述 description="簡(jiǎn)單的加減運(yùn)算上傳測(cè)試", # 項(xiàng)目的長(zhǎng)描述 long_description="簡(jiǎn)單的加減運(yùn)算上傳測(cè)試", # 以哪種文本格式顯示長(zhǎng)描述 long_description_content_type="text/markdown", # 所需要的依賴 install_requires=[], # 比如["flask>=0.10"] # 項(xiàng)目主頁(yè) url="https://www.baidu.com", # 項(xiàng)目中包含的子包,find_packages() 是自動(dòng)發(fā)現(xiàn)根目錄中的所有的子包。 packages=setuptools.find_packages(), # 其他信息,這里寫(xiě)了使用 Python3,MIT License許可證,不依賴操作系統(tǒng)。 classifiers=[ "Programming Language :: Python :: 3", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", ], )
在上傳代碼之前,我們需要將代碼編譯。除了setuptools之外,我們還需要一個(gè)模塊wheel,如果沒(méi)有則需要安裝。
pip install --user --upgrade setuptools wheel
然后對(duì)我們的setup.py進(jìn)行編譯。
python setup.py sdist bdist_wheel
編譯成功之后會(huì)在項(xiàng)目中生成多個(gè)目錄,其中有一個(gè)dist目錄是我們需要上傳的。
然后就是上傳了,我們需要前往(https://pypi.org/account/register/)注冊(cè)一個(gè)賬號(hào),然后再安裝一個(gè)模塊:twine,因?yàn)樯蟼餍枰褂玫剿?/p>
pip install --user --upgrade twine
安裝完成之后,就可以使用如下命令上傳 dist 文件夾里面的文件。
python -m twine upload --repository pypi dist/*
我們看到上傳成功,下面去頁(yè)面看一下。
注意:這里為了區(qū)分,我們把根目錄名和模塊名取得不一樣,我們需要pip install hanser-module-upload,然后在site-packages下面會(huì)有一個(gè)hanser目錄,也就是我們所使用的模塊。但是一般情況下,這兩者都是一樣的。比如:我們安裝pandas,那么得到的模塊也叫做pandas。
下面就來(lái)試一試吧:
成功安裝,當(dāng)然也是可以使用的。
以后如果我們自己寫(xiě)了一個(gè)比較不錯(cuò)的模塊的時(shí)候,就可以發(fā)布到pypi上面。
“怎么將自己寫(xiě)的模塊上傳到pypi”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!
分享名稱:怎么將自己寫(xiě)的模塊上傳到pypi-創(chuàng)新互聯(lián)
鏈接地址:http://newbst.com/article48/dggchp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供云服務(wù)器、網(wǎng)站維護(hù)、關(guān)鍵詞優(yōu)化、商城網(wǎng)站、搜索引擎優(yōu)化、建站公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容