国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

手把手教你發(fā)布一個(gè)Python包

劉玉平 / 1633人閱讀

摘要:本文主題如下編寫一個(gè)包源代碼,但不是本文的重點(diǎn)。發(fā)布包,發(fā)布的包可以有多種類型。查看為了生成和發(fā)布包,必須編寫文件,編寫該文件必須依賴于包,這個(gè)包本身也是一個(gè)包。編寫測試文件然后運(yùn)行配置為了發(fā)布包,必須在注冊一個(gè)用戶,注冊郵箱需要驗(yàn)證。

本文主題如下:

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

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

發(fā)布包,發(fā)布的包可以有多種類型。

如何在 Pypi 中查看已發(fā)布的包

注意:

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

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

1. 編寫包源代碼

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

$ wget "https://files.pythonhosted.org/packages/96/66/43e6df87373557553be2b4343db27d008c6dcefa110ccff38cba1459ca07/ywdblogmath-0.1.tar.gz"
2. 查看 setup.py

為了生成和發(fā)布包,必須編寫 setup.py 文件,編寫該文件必須依賴于 setuptools 包,這個(gè)包本身也是一個(gè) 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"],
)

望文生義,不過多講解相應(yīng)的參數(shù)。

3. 測試本地包

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

在開發(fā)模式下安裝包:

$ python setup.py develop

觀察安裝后生成的文件:

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

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

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

編寫測試文件 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))

然后運(yùn)行 example.py:

$ python  example.py
    9
    2
    50
    6.92820323028.
4. 配置 pypi

(1)為了發(fā)布包,必須在 pypi.org 注冊一個(gè)用戶,注冊郵箱需要驗(yàn)證。
(2)配置 $HOME”.pypirc” 文件:

[distutils]
index-servers=pypi
[pypi]
repository = https://upload.pypi.org/legacy/
username = pypi.org 登錄名
password = pypi.org 登陸密碼
5. 發(fā)布包

在發(fā)布包之前,運(yùn)行下列命令了解所有可用的命令:

$ python setup.py --help-commands

先編譯包:

$ python setup.py build

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

(1)生成 tar.gz 包

$ python setup.py sdist

運(yùn)行后產(chǎn)生下列文件:

/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

運(yùn)行后產(chǎn)生下列文件:

/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

運(yùn)行后產(chǎn)生下列文件:

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

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

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

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

登錄 pypi.org 查看發(fā)布的包

在發(fā)布包的時(shí)候,可能會遇到很多命令行提示的錯(cuò)誤,這些內(nèi)容不是本文的重點(diǎn),另外注意 setpy.py 中的包版本號,可以測試發(fā)布多版本的包。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/42188.html

相關(guān)文章

  • 把手教你安裝Anaconda

    摘要:如果是的安裝,從官網(wǎng)下載后雙擊,可能會有下圖的提示同樣也是不斷的點(diǎn)擊繼續(xù)最后就是安裝完成了同樣輸入測試使用安裝完成之后,在開始菜單中選擇啟動(dòng)啟動(dòng)可能要花些時(shí)間。 Anaconda是一個(gè)開源的Python發(fā)行版本,其包含了conda、Python等180多個(gè)科學(xué)包及其依賴項(xiàng)。其包含的科學(xué)包有...

    劉明 評論0 收藏0
  • 把手教你發(fā)布一個(gè)無依賴多類型高質(zhì)量的鍵盤npm

    摘要:下面我就以最近開發(fā)的數(shù)字鍵盤為例,一一列出具體步驟寫基礎(chǔ)模塊代碼注冊賬號配置配置添加單元測試完善發(fā)布足可以完成一個(gè),是為了開發(fā)一個(gè)高質(zhì)量的。徽章分別表示是否構(gòu)建成功代碼測試覆蓋率版本號下載量開源證書,看起來逼格滿滿有木有。 寫在前面 沒有發(fā)布過npm包的同學(xué),可能會對NPM對開發(fā)有一種蜜汁敬畏,覺得這是一個(gè)很高大上的東西。甚至有次面試,面試官問我有沒有發(fā)過npm包,當(dāng)時(shí)只用過還沒寫過,...

    vboy1010 評論0 收藏0
  • 把手教你寫命令行工具

    摘要:命令行工具,即。我們在寫命令行工具的時(shí)候,需要指定一個(gè)可執(zhí)行文件。或者四調(diào)試我們?nèi)职惭b一個(gè)包后,可以全局調(diào)用這個(gè)命令行工具。 命令行工具,即 Cli(command-line interface)。是在圖形用戶界面得到普及之前使用最為廣泛的用戶界面,它通常不支持鼠標(biāo),用戶通過鍵盤輸入指令,計(jì)算機(jī)接收到指令后,予以執(zhí)行。在學(xué)習(xí)這篇教程之前,你需要先了解NodeJs,NPM和一些常用的...

    DevYK 評論0 收藏0
  • 把手教你擴(kuò)展個(gè)人微信號(1)

    摘要:關(guān)于本教程有任何建議或者疑問,都?xì)g迎郵件與我聯(lián)系,或者在上提出教程流程簡介教程將會從如何分析微信協(xié)議開始,第一部分將教你如何從零開始獲取并模擬擴(kuò)展個(gè)人微信號所需要的協(xié)議。 現(xiàn)在的日常生活已經(jīng)離不開微信,難免會生出微信有沒有什么API可以使用的想法。 那樣就可以拿自己微信做個(gè)消息聚合、開個(gè)投票什么的,可以顯然沒有這種東西。 不過還好,有網(wǎng)頁版微信不就等于有了API么,這個(gè)項(xiàng)目就是出于這個(gè)...

    siberiawolf 評論0 收藏0
  • 把手教你python制作屬于你的第一個(gè)詞云

    摘要:利用強(qiáng)大的語言制作屬于自己的第一張?jiān)~云。還有一件很有意思的事情,和的中文意思,都是蟒蛇。好,接下來進(jìn)入正題,一步一步實(shí)現(xiàn)我們的第一張?jiān)~云。但是我們?nèi)绻獙χ形倪M(jìn)行分析,還必須要借助中文分詞技術(shù)。 相信很多人在網(wǎng)上,或者是在一些報(bào)告或者ppt上,都看到過類似這種圖片 showImg(https://segmentfault.com/img/bVQRr0?w=1920&h=919); 你可...

    happyfish 評論0 收藏0

發(fā)表評論

0條評論

最新活動(dòng)
閱讀需要支付1元查看
<