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

歡迎訪問 生活随笔!

生活随笔

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

python

手把手教你发布一个Python包

發布時間:2024/5/7 python 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 手把手教你发布一个Python包 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文主題如下:

編寫一個包(Python 源代碼),但不是本文的重點。

編譯包,觀察編譯后的文件。

發布包,發布的包可以有多種類型。

如何在 Pypi 中查看已發布的包。

注意:

本文編寫的包在 Python2 環境下測試通過,實際上這個包(只是個例子)比較簡單,在 Python3 下也能運行。

本文知識點可能陳舊,比如 Python Pypi 官方已做了很大改變。

1. 編寫包源代碼

這篇文章主要描述如何發布一個包,不描述如何編寫一個包,如果你沒有代碼(只想學習如何發布包),可下載下面的示例。

wget "https://files.pythonhosted.org/packages/96/66/43e6df87373557553be2b4343db27d008c6dcefa110ccff38cba1459ca07/ywdblogmath-0.1.tar.gz"

可以認為下載的源碼就是讀者自己編寫的,然后在本地測試、生成、發布包。

運行下列命令解壓縮,并將代碼放到特定目錄:

$ tar ywdblogmath-0.1.tar.gz # 代碼在 /root/python 目錄下 $ mv setup.py ywdblogmath /root/python

2. 查看 setup.py

為了生成和發布包,必須編寫 setup.py 文件,編寫該文件必須依賴于 setuptools 包(還記得上一篇文章講解的 Python 官方包管理工具),這個包本身也是一個 Python 包。

#!/usr/bin/env python from setuptools import setup setup(name='ywdblogmath',version='0.1',description='A silly ywdblogmath package',author='ywdblog',author_email='ywdblog@gmail.com',url='http://www.yudadan.com/',packages=['ywdblogmath', 'ywdblogmath.adv'], )

望文生義,不過多講解相應的參數。

3. 測試本地包

首先將該代碼生成一個本地包,然后編寫代碼測試該包的功能。

在開發模式下安裝包:

python setup.py develop

觀察安裝后生成的文件:

/usr/local/lib/python2.7/dist-packages/ywdblogmath.egg-link

/usr/local/lib/python2.7/dist-packages/easy-install.pth

這二個文件包含的內容就是 /root/python(一個軟連接)。

編寫測試文件 example.py :

import sys import ywdblogmath print(ywdblogmath.add(4,5)) print(ywdblogmath.division(4, 2)) print(ywdblogmath.multiply(10, 5)) print(ywdblogmath.squareroot(48))

然后運行 example.py:

$ python example.py92506.92820323028

4. 配置 pypi

(1)為了發布包,必須在 pypi.org 注冊一個用戶,注冊郵箱需要驗證。

(2)配置 $HOME”.pypirc” 文件:

[distutils] index-servers=pypi [pypi] repository = https://upload.pypi.org/legacy/ username = pypi.org 登錄名 password = pypi.org 登陸密碼

5. 發布包

在發布包之前,運行下列命令了解所有可用的命令:

python setup.py --help-commands

先編譯包:

python setup.py build

運行完成后生成 /root/python/build 目錄,所以編譯的文件保存在該目錄下。

(1)生成 tar.gz 包

python setup.py sdist

運行后產生下列文件:

/root/python/dist/ywdblogmath-0.1.tar.gz

/root/python/ywdblogmath.egg-info (python setup.py egg_info 命令也會生成該文件)

(2)生成 egg 包

python setup.py bdist_egg

運行后產生下列文件:

/root/python/dist/ywdblogmath-0.1-py2.7.egg

/root/python/ywdblogmath.egg-info (python setup.py egg_info 命令也會生成該文件)

(3)生成 wheel 包

python setup.py bdist_wheel

運行后產生下列文件:

/root/python/dist/ywdblogmath-0.1-py2-none-any.whl

/root/python/ywdblogmath.dist-info

最后發布包(任何一個命令都可以):

# 發布 .tar.gz 包 $ python setup.py sdist upload # 發布 egg 包 $ python setup.py bdist_egg upload # 發布 wheel 包 $ python setup.py bdist_wheel upload

至于發布什么類型的包,讀者自己決定,如果想讓所有的包安裝工具(比如 pip、easy_install )都能安裝你發布的包,可同時發布這三種類型的包。

登錄 pypi.org 查看發布的包

在發布包的時候,可能會遇到很多命令行提示的錯誤,這些內容不是本文的重點,另外注意 setpy.py 中的包版本號,可以測試發布多版本的包。

總結

以上是生活随笔為你收集整理的手把手教你发布一个Python包的全部內容,希望文章能夠幫你解決所遇到的問題。

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