日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

構建包的過程有些復雜,但從長遠來看是值得的,尤其是可以創建屬于自己的Python/ target=_blank class=infotextkey>Python包。本文的目的是通過對構建一個新發行包的案例研究,讓您了解需要構建什么以及如何構建python包的基礎知識。

教你在幾分鐘內構建一個Python包

 

開始

首先,您肯定需要設置一個或多個內容,以便了解如何構建python包。因此,需要的東西的如下:

  • IDE (Vs Code)
  • Python 3

構建Python包

本文中構建的標稱為b_dist。b_dist是一個分布包,它有Gaussian, Binomial, e.t.c等類。但首先,使用下面的映射結構創建包文件夾:

b_dist/
        __init__.py        Binomialdistribution.py        Guassiandistribution.py        Generaldistribution.py        licence.txt        setup.cfgREADME.mdsetup.py

首先,您必須為上面在映射中列出的那些創建一個空文件。注意:b_dist是一個文件夾,setup.py帶有自述文件。md不在b_dist文件夾中。

讓我們先談談b_dist里面的文件:

b_dist/__init__.py

這個文件告訴python這個文件夾包含一個包。另外,包總是由init文件組成,即使它是空的。當您在python程序中導入一個包時,剩余的__init__文件就會運行。在這種情況下,其他的__init__文件導入高斯、二項和分布模型,以便在使用包時直接導入這些類。

b_dist/Binomialdistribution.py

二項文件是用于計算和可視化二項分布的類。

b_dist/Guassiandistribution.py

高斯文件是用于計算和可視化高斯分布的類。

b_dist/Generaldistribution.py

通用分布文件是用于計算和可視化概率分布的類。

b_dist/licence.txt

許可證檔案實際上載有你的版權資料,說明你打算準許其他使用者自由使用你的套件。

b_dist/setup.cfg

cfg文件是一個保存自述文件數據的文件。

README.md

這是包的文檔。它描述了包是如何工作的

setup.py

py文件是pip安裝包所必需的。此外,它還包含關于包的元數據。請注意以下屬性,如名稱和包。這個屬性必須與文件夾名' b_dist '具有相同的值,以便在上傳我們的包時避免bug。

 

本地運行包

讓我們先通過輸入下面的代碼在本地運行包:

# change directory to where the setup file and the package is located
~$ cd python_package
~/python_package:$ 
# Install the package locally
# NOTE:pip install . installs any setup.py file in that directory.
~/python_package:$ pip install .

輸入后應該是輸出:

Processing /python_package
Building wheels for collected packages: b-dist
  Building wheel for b-dist (setup.py) ... done
  Created wheel for b-dist: filename=b_dist-0.4-py3-none-any.whl size=5108 sha256=d4c6f74daa1add07f37b01a74294e86ab07d655a6e0944bbb46ed6503ae493ef
  Stored in directory: /tmp/pip-ephem-wheel-cache-3pvdd9ue/wheels/1e/f9/a3/568195cccd4e2d1dcb1edaf9c2708f651b90b6af6fbdfd3f36
Successfully built b-dist

最后,我們的包已經安裝好了。讓我們通過輸入下面的代碼來測試它是否有效:

# open the python shell
In[1]: /python_package$ python
Out[1] Python 3.7.3 (default, Mar 27 2019, 22:11:17) 
[GCC 7.3.0] :: Anaconda, Inc. on linux
Type "help", "copyright", "credits" or "license" for more information.
In[2] >>>from b_dist import Guassian
In[3] >>> Guassian(10,5)Out[3] mean 10, standard deviation 5

太棒了! !,現在我們的包可以工作了,讓我們繼續進行下一個部分。

 

上傳Python包

 

使用PyPI可以快速上傳新構建的包。首先來看什么是PyPi。PyPi代表Python包索引(PyPi),它是Python編程語言的軟件存儲庫。

所以現在要將我們的包上載到PyPI站點的測試版本,另外要確保pip安裝過程是否正常,然后現在要上載到PyPI站點。

首先,用測試創建一個帳戶。對兩個站點使用相同的用戶名和密碼。

在成功創建兩個帳戶之后,讓我們返回IDE并將包上傳到TestPyPi。但首先,要與這些站點通信,您需要pip安裝一個名為twine的庫,使用:

pip install twine

所以,安裝twine后,輸入以下代碼先上傳到TestPyPi:

# Creating the distribution package to be uploaded
~/python_package:$ python setup.py sdist

輸入代碼后,您將看到兩個新文件夾,然后移動到下一行代碼:

# Upload the package created using twinw
~/python_package:$ twine upload --repository-url https://test.pypi.org/legacy/ dist/*
Output: Uploading distributions to https://test.pypi.org/legacy/
# enter your username and password used in registraion to the site
Output: Enter your username : bideen
Output: Enter your password : ########

輸入密碼后,你會看到一條成功的消息:“上傳package_name 100%成功”。要檢查上傳是否成功,請訪問您的TestPyPi帳戶并查看您的新包。

現在使用以下代碼從TestPyPi站點安裝pip:

# first uninstall the previuos package on to aviod conflicts
~/python_package:$ pip uninstall b_dist
# install fro the TestPyPi
~/python_package:$ pip install --index-url https://test.pypi.org/simple/ b_dist

成功集成TestPyPi之后,現在讓我們繼續上載到主PyPi,在那里可以使用包名直接進行pip安裝,也可以公開使用。

# first uninstall the previuos package on to aviod conflicts
~/python_package:$ pip uninstall b_dist
# install fro the TestPyPi
~/python_package:$ pip install b_dist

祝賀您,您已經成功地構建了一個python包?,F在在pypi.org上檢查新上傳的包


英文原文:

https://medium.com/analytics-vidhya/building-a-python-package-in-minutes-7bb702a6eb65

分享到:
標簽:Python
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定