偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

教你在幾分鐘內(nèi)構(gòu)建一個(gè)Python包

開(kāi)發(fā) 后端
本文的目的是通過(guò)對(duì)構(gòu)建一個(gè)新發(fā)行包的案例研究,讓您了解需要構(gòu)建什么以及如何構(gòu)建python包的基礎(chǔ)知識(shí)。

前言

構(gòu)建包的過(guò)程有些復(fù)雜,但從長(zhǎng)遠(yuǎn)來(lái)看是值得的,尤其是可以創(chuàng)建屬于自己的Python包。本文的目的是通過(guò)對(duì)構(gòu)建一個(gè)新發(fā)行包的案例研究,讓您了解需要構(gòu)建什么以及如何構(gòu)建python包的基礎(chǔ)知識(shí)。

[[341688]]

開(kāi)始

首先,您肯定需要設(shè)置一個(gè)或多個(gè)內(nèi)容,以便了解如何構(gòu)建python包。因此,需要的東西的如下:

  • IDE (Vs Code)
  • Python 3

構(gòu)建Python包

本文中構(gòu)建的標(biāo)稱為b_dist。b_dist是一個(gè)分布包,它有Gaussian, Binomial, e.t.c等類。但首先,使用下面的映射結(jié)構(gòu)創(chuàng)建包文件夾:

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

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

[[341689]]

讓我們先談?wù)刡_dist里面的文件:

  1. b_dist/__init__.py 

這個(gè)文件告訴python這個(gè)文件夾包含一個(gè)包。另外,包總是由init文件組成,即使它是空的。當(dāng)您在python程序中導(dǎo)入一個(gè)包時(shí),剩余的__init__文件就會(huì)運(yùn)行。在這種情況下,其他的__init__文件導(dǎo)入高斯、二項(xiàng)和分布模型,以便在使用包時(shí)直接導(dǎo)入這些類。

  1. b_dist/Binomialdistribution.py 

二項(xiàng)文件是用于計(jì)算和可視化二項(xiàng)分布的類。

  1. b_dist/Guassiandistribution.py 

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

  1. b_dist/Generaldistribution.py 

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

  1. b_dist/licence.txt 

許可證檔案實(shí)際上載有你的版權(quán)資料,說(shuō)明你打算準(zhǔn)許其他使用者自由使用你的套件。

  1. b_dist/setup.cfg 

cfg文件是一個(gè)保存自述文件數(shù)據(jù)的文件。

  1. README.md 

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

  1. setup.py 

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

本地運(yùn)行包

讓我們先通過(guò)輸入下面的代碼在本地運(yùn)行包:

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

輸入后應(yīng)該是輸出:

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

最后,我們的包已經(jīng)安裝好了。讓我們通過(guò)輸入下面的代碼來(lái)測(cè)試它是否有效:

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

太棒了! !,現(xiàn)在我們的包可以工作了,讓我們繼續(xù)進(jìn)行下一個(gè)部分。

上傳Python包

教你在幾分鐘內(nèi)構(gòu)建一個(gè)Python包

使用PyPI可以快速上傳新構(gòu)建的包。首先來(lái)看什么是PyPi。PyPi代表Python包索引(PyPi),它是Python編程語(yǔ)言的軟件存儲(chǔ)庫(kù)。

所以現(xiàn)在要將我們的包上載到PyPI站點(diǎn)的測(cè)試版本,另外要確保pip安裝過(guò)程是否正常,然后現(xiàn)在要上載到PyPI站點(diǎn)。

首先,用測(cè)試創(chuàng)建一個(gè)帳戶。對(duì)兩個(gè)站點(diǎn)使用相同的用戶名和密碼。

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

  1. pip install twine 

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

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

輸入代碼后,您將看到兩個(gè)新文件夾,然后移動(dòng)到下一行代碼:

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

輸入密碼后,你會(huì)看到一條成功的消息:“上傳package_name 100%成功”。要檢查上傳是否成功,請(qǐng)?jiān)L問(wèn)您的TestPyPi帳戶并查看您的新包。

現(xiàn)在使用以下代碼從TestPyPi站點(diǎn)安裝pip:

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

成功集成TestPyPi之后,現(xiàn)在讓我們繼續(xù)上載到主PyPi,在那里可以使用包名直接進(jìn)行pip安裝,也可以公開(kāi)使用。

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

祝賀您,您已經(jīng)成功地構(gòu)建了一個(gè)python包?,F(xiàn)在在pypi.org上檢查新上傳的包

英文原文:

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

 

責(zé)任編輯:趙寧寧 來(lái)源: 今日頭條
相關(guān)推薦

2017-08-03 17:30:26

戴爾IoT設(shè)備

2016-09-30 15:13:01

Python代碼

2022-05-20 07:36:02

LiveTerm工具

2022-03-28 08:00:00

數(shù)據(jù)庫(kù)GraphQL公共云

2022-04-06 09:28:04

漏洞SQL注入

2013-07-02 09:58:38

ClojureClojure教程

2010-02-23 14:19:30

Python目錄操作

2021-12-02 11:54:10

云計(jì)算云錯(cuò)誤配置網(wǎng)絡(luò)安全

2010-03-01 18:13:22

Python程序

2023-05-09 15:04:37

人工智能工具

2024-03-12 10:11:56

Python計(jì)算機(jī)視覺(jué)

2010-11-30 10:12:08

2009-12-29 09:01:46

ADSL斷線

2009-11-25 10:14:43

2009-11-26 09:28:56

VS2003打包

2010-01-06 15:35:06

JSON對(duì)象

2010-01-21 09:46:24

C++程序

2024-12-03 15:38:14

2023-07-10 17:07:49

樹(shù)莓派儀表盤(pán)

2019-07-08 13:51:02

DockerWindows 10Windows
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)