91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么使用setuptools打包Python代碼

發布時間:2022-01-24 16:17:33 來源:億速云 閱讀:180 作者:zzz 欄目:開發技術

本篇內容介紹了“怎么使用setuptools打包Python代碼”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

setuptools是Python distutils增強版的集合,它可以幫助我們更簡單的創建和分發Python包,尤其是擁有依賴關系的。用戶在使用setuptools創建的包時,并不需要已安裝setuptools,只要一個啟動模塊即可。

怎么使用setuptools打包Python代碼

安裝 setuptools

安裝和更新 setuptools 的最簡單方法是使用 pip

$ sudo python -m pip install --upgrade setuptools

示例庫

我創建了一個簡單的 Python 庫,名為 myhellolib,來作為需要打包的示例代碼。這個庫接受一個字符串,然后用大寫字母打印出這個字符串。

它只有兩行代碼,但項目結構很重要,所以首先創建目錄樹:

$ mkdir -p myhellolib.git/myhellolib

為了確認這個項目是一個可導入的庫(即 Python “模塊”),在代碼目錄中創建一個空文件 __init__.py,同時創建一個包含代碼的文件:

$ touch myhellolib.git/myhellolib/__init__.py$ touch myhellolib.git/myhellolib/myhellolib.py

myhellolib.py 文件中,輸入簡單的 Python 代碼:

def greeter(s):    print(s.upper())

這就是寫好的庫。

測試它

在打包之前,測試一下你的庫。創建一個 myhellolib.git/test.py 文件并輸入以下代碼:

import myhellolib.myhellolib as hellohello.greeter("Hello Opensource.com.")

運行該腳本:

$ cd myhellolib.git$ python ./test.pyHELLO OPENSOURCE.COM

它可以工作,所以現在你可以把它打包了。

Setuptools

要用 setuptools 打包一個項目,你必須創建一個 .toml 文件,將 setuptools 作為構建系統。將這段文字放在項目目錄下的 myhellolib.toml 文件中。

[build-system]requires = ["setuptools", "wheel"]build-backend = "setuptools.build_meta"

接下來,創建一個名為 setup.py 的文件,包含項目的元數據:

from setuptools import setupsetup(   name='myhellolib',   version='0.0.1',   packages=['myhellolib'],   install_requires=[      'requests',      'importlib; python_version == "3.8"',   ],)

不管你信不信,這就是 setuptools 需要的所有設置。你的項目已經可以進行打包。

打包 Python

要創建你的 Python 包,你需要一個構建器。一個常見的工具是 build,你可以用 pip 安裝它:

$ python -m pip install build --user

構建你的項目:

$ python -m build

過了一會兒,構建完成了,在你的項目文件夾中出現了一個新的目錄,叫做 dist。這個文件夾包含一個 .tar.gz 和一個 .whl 文件。

這是你的第一個 Python 包! 下面是包的內容:

$ tar --list --file dist/myhellolib-0.0.1.tar.gzmyhellolib-0.0.1/myhellolib-0.0.1/PKG-INFOmyhellolib-0.0.1/myhellolib/myhellolib-0.0.1/myhellolib/__init__.pymyhellolib-0.0.1/myhellolib/myhellolib.pymyhellolib-0.0.1/myhellolib.egg-info/myhellolib-0.0.1/myhellolib.egg-info/PKG-INFOmyhellolib-0.0.1/myhellolib.egg-info/SOURCES.txtmyhellolib-0.0.1/myhellolib.egg-info/dependency_links.txtmyhellolib-0.0.1/myhellolib.egg-info/requires.txtmyhellolib-0.0.1/myhellolib.egg-info/top_level.txtmyhellolib-0.0.1/setup.cfgmyhellolib-0.0.1/setup.py$ unzip -l dist/myhellolib-0.0.1-py3-none-any.whl Archive:  dist/myhellolib-0.0.1-py3-none-any.whlName----myhellolib/__init__.pymyhellolib/myhellolib.pymyhellolib-0.0.1.dist-info/METADATAmyhellolib-0.0.1.dist-info/WHEELmyhellolib-0.0.1.dist-info/top_level.txtmyhellolib-0.0.1.dist-info/RECORD-------6 files

讓它可用

現在你知道了打包你的 Python 包是多么容易,你可以使用 Git 鉤子、GitLab Web 鉤子、Jenkins 或類似的自動化工具來自動完成這個過程。你甚至可以把你的項目上傳到 PyPi,這個流行的 Python 模塊倉庫。一旦它在 PyPi 上,用戶就可以用 pip 來安裝它,就像你在這篇文章中安裝 setuptoolsbuild 一樣!

“怎么使用setuptools打包Python代碼”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

错那县| 石柱| 井冈山市| 中卫市| 洮南市| 罗田县| 潞西市| 张家川| 乌鲁木齐市| 衡山县| 五河县| 深州市| 阿合奇县| 乐山市| 庆元县| 鞍山市| 铅山县| 萨迦县| 四平市| 睢宁县| 大悟县| 鲁山县| 浪卡子县| 宁强县| 台北县| 库尔勒市| 运城市| 应用必备| 宁蒗| 揭阳市| 舞阳县| 新绛县| 陇南市| 台前县| 百色市| 曲沃县| 泌阳县| 隆林| 绍兴市| 远安县| 永平县|