欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python 如何上傳包到pypi

 更新時間:2020年12月24日 16:40:27   作者:何雨龍  
這篇文章主要介紹了python 如何上傳包到pypi,幫助大家更好的理解和使用python,感興趣的朋友可以了解下

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

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

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

準備好項目目錄

創(chuàng)建一個項目目錄,其目錄結構如下:

/packaging_tutorial
 /example_pkg
  __init__.py

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

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

創(chuàng)建一些必要文件

再向 packaging_tutorial 中創(chuàng)建一些文件。其目錄結構如下:

/packaging_tutorial
 /example_pkg
  __init__.py
 setup.py
 LICENSE
 README.md

創(chuàng)建 README.md 文件

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

# 測試

這只是一個測試。

- 測試 1
- 測試 2
- 測試 3

創(chuàng)建 setup.py 文件

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

在 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",
  ],
)

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

創(chuàng)建 LICENSE

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.

存檔發(fā)布版本

一般來說,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 是構建的發(fā)布版本。

上傳發(fā)布版本

安裝 twine:

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

安裝好之后,執(zhí)行 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.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 官網上看到自己上傳的項目了。

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

pip install example-pkg-heyulong

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

以上就是python 如何上傳包到pypi的詳細內容,更多關于python 上傳包到pypi的資料請關注腳本之家其它相關文章!

相關文章

  • 利用Python獲取操作系統(tǒng)信息實例

    利用Python獲取操作系統(tǒng)信息實例

    作為一個運維人員,經常需要獲取系統(tǒng)的的各種信息,使用python會很方便幫助獲得,這篇文章運用實例告訴大家如何利用Python來獲取操作系統(tǒng)的信息,有需要的可以參考借鑒。
    2016-09-09
  • Python正則表達式指南 推薦

    Python正則表達式指南 推薦

    本文介紹了Python對于正則表達式的支持,包括正則表達式基礎以及Python正則表達式標準庫的完整介紹及使用示例。本文的內容不包括如何編寫高效的正則表達式、如何優(yōu)化正則表達式,這些主題請查看其他教程。
    2018-10-10
  • 跟老齊學Python之關于類的初步認識

    跟老齊學Python之關于類的初步認識

    這篇文章主要介紹了Python中關于類的一些術語解釋,雖然有些枯燥,但是要了解類的話,這些內容是必須的
    2014-10-10
  • python urllib.request模塊的使用詳解

    python urllib.request模塊的使用詳解

    這篇文章主要介紹了python urllib.request模塊的使用詳解,幫助大家更好的理解和學習使用python,感興趣的朋友可以了解下
    2021-03-03
  • 使用Keras 實現(xiàn)查看model weights .h5 文件的內容

    使用Keras 實現(xiàn)查看model weights .h5 文件的內容

    這篇文章主要介紹了使用Keras 實現(xiàn)查看model weights .h5 文件的內容,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06
  • Python讀取環(huán)境變量的方法和自定義類分享

    Python讀取環(huán)境變量的方法和自定義類分享

    這篇文章主要介紹了Python讀取環(huán)境變量的方法和自定義類分享,本文直接給出代碼實例,需要的朋友可以參考下
    2014-11-11
  • pandas?如何將字符串映射為數(shù)字

    pandas?如何將字符串映射為數(shù)字

    這篇文章主要介紹了pandas?如何將字符串映射為數(shù)字,具有很好的參考價值,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • Python獲取網段內ping通IP的方法

    Python獲取網段內ping通IP的方法

    今天小編就為大家分享一篇Python獲取網段內ping通IP的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01
  • 使用Python實現(xiàn)將list中的每一項的首字母大寫

    使用Python實現(xiàn)將list中的每一項的首字母大寫

    今天小編就為大家分享一篇使用Python實現(xiàn)將list中的每一項的首字母大寫,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-06-06
  • Pandas DataFrame replace替換后無效的解決

    Pandas DataFrame replace替換后無效的解決

    這篇文章主要介紹了Pandas DataFrame replace替換后無效的解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08

最新評論