利用python怎么將包上傳到pypi?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。
創(chuàng)新互聯(lián)是一家專業(yè)提供柳城企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計、html5、小程序制作等業(yè)務(wù)。10年已為柳城眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站制作公司優(yōu)惠進(jìn)行中。準(zhǔn)備好項目目錄
創(chuàng)建一個項目目錄,其目錄結(jié)構(gòu)如下:
/packaging_tutorial /example_pkg __init__.py
其中,packaging_tutorial 是一個文件目錄,example_pkg 是一個你希望上傳的 Python 包。
注:本人使用的是 virtualenv + virtualenvwrapper 構(gòu)建的 Python 虛擬環(huán)境,因此 python 和 pip 命令(而非 python3 和 pip3)直接對應(yīng)的是我所指定的虛擬環(huán)境(Python 3.6.7)。
再向 packaging_tutorial 中創(chuàng)建一些文件。其目錄結(jié)構(gòu)如下:
/packaging_tutorial /example_pkg __init__.py setup.py LICENSE README.md
在 README.md 可以輸入一些介紹項目的文檔。
# 測試 這只是一個測試。 - 測試 1 - 測試 2 - 測試 3
setup.py 是 setuptools 的構(gòu)建腳本,它提供了包的各種信息。
在 setup.py 中輸入以下代碼:
import setuptools with 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", ], )
各個配置的字段的含義應(yīng)該是不言而喻的,如果想了解更多,參見官網(wǎng)解釋。
LICENSE 是項目所遵循的許可證,以 MIT 為例:
Copyright (c) 2018 The Python Packaging Authority Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 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 THE SOFTWARE.
一般來說,pip 默認(rèn)應(yīng)該都安裝了 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 是構(gòu)建的發(fā)布版本。
安裝 twine:
pip install twine -i https://pypi.douban.com/simple
安裝好之后,執(zhí)行 twine 命令(這里,需要注意你已經(jīng)注冊了 PyPI 的賬號):
twine upload dist/*
Enter your username: heyulong Enter your password: Uploading distributions to /tupian/20230522/ Uploading example_pkg_heyulong-0.0.1-py3-none-any.whl 100%|██████████████████████████████████████| 5.49k/5.49k [00:01<00:00, 4.66kB/s] Uploading example-pkg-heyulong-0.0.1.tar.gz 100%|██████████████████████████████████████| 4.23k/4.23k [00:01<00:00, 2.21kB/s]
執(zhí)行完之后,即可在 PyPI 官網(wǎng)上看到自己上傳的項目了。
安裝你上傳的 PyPI 項目,比如我的:
pip install example-pkg-heyulong
看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進(jìn)一步的了解或閱讀更多相關(guān)文章,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司,的支持。
網(wǎng)站標(biāo)題:利用python怎么將包上傳到pypi-創(chuàng)新互聯(lián)
文章出自:http://jinyejixie.com/article32/cciopc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供動態(tài)網(wǎng)站、定制網(wǎng)站、標(biāo)簽優(yōu)化、靜態(tài)網(wǎng)站、關(guān)鍵詞優(yōu)化、軟件開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容