setuptools打包-分發-安裝-發布

一、定義

  1. 學習網址
  2. setup.py 編寫
  3. 打包
  4. 安裝
  5. 開源到PYPI中

二、實現

  1. 學習網址
    https://python.iswbm.com/c08/c08_15.html
  2. setup.py 編寫
    采用分發工具setuptools進行發布,因此采用setuptools包進行setup.py的編寫
demo案例
from setuptools import setup, find_packages
setup(name="包名",version="版本號",author="作者",author_email="作者郵箱",description="一句話描述",long_description="長描述",long_description_content_type="text/markdown",url="項目URL",packages=find_packages(),         #自動尋找包classifiers=["Programming Language :: Python :: 3","License :: OSI Approved :: MIT License","Operating System :: OS Independent",],python_requires='>=3.6',install_requires=["依賴包1","依賴包2",],
)

參數參考網址:https://setuptools.pypa.io/en/latest/references/keywords.html
如:
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

from setuptools import setup, find_packages
setup(name="user",version="0.0.1",author="作者",author_email="18817606385@163.com",description="一句話描述",long_description="長描述",long_description_content_type="text/markdown",packages=find_packages())
包安裝: python setup.py install 使用:

在這里插入圖片描述
3. 打包
1. 源碼打包

python setup.py sdist --formats=gztar,zip
  1. 二進制的方式進行打包
    在windows中我們習慣了雙擊 exe 進行軟件的安裝,Python 模塊的安裝也同樣支持 打包成 exe 這樣的二進制軟件包。
$ python setup.py bdist_wininst

而在 Linux 中,大家也習慣了使用 rpm 來安裝包,對此你可以使用這條命令實現 rpm 包的構建

$ python setup.py bdist_rpm

在這里插入圖片描述
(推薦) 若你的項目,需要安裝多個平臺下,既有 Windows 也有 Linux,按照上面的方法,多種格式我們要執行多次命令,為了方便,你可以一步到位,執行如下這條命令,即可生成多個格式的進制包

 python setup.py bdist

打包完成生成三個文件夾:
在這里插入圖片描述
4. 安裝
將打包后dist中壓縮包解壓,解壓后的文件和未解壓的文件一樣,然后安裝
>>python setup.py install
也可直接在setup.py 目錄中直接安裝,setup.py 即安裝文件。
>>python setup.py install

  1. 開源到PYPI中
    https://python.iswbm.com/c08/c08_17.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/44861.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/44861.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/44861.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

springboot下 創建TCO客戶端,并發送消息

import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service;import java.io.*; import java.net.Socket;/*** 請求tcp接口** author Mr丶s* date 2024/7/10 下午3:03* description*/ Slf4j Service public class TcpClientService {private Socket soc…

在Office里面無縫使用任何一家AI大模型,免費的!

昨天一個朋友說他在Word里面,用了一個插件,可以在右側和AI對話,然后把AI生成的內容載入到左邊的文檔中。 我當時心理的想法:我這是穿越了嗎?這不是我去年2月就實現,然后又扔掉的功能嗎? 是的&a…

paddla模型轉gguf

在使用ollama配置本地模型時,只支持gguf格式的模型,所以我們首先需要把自己的模型轉化為bin格式,本文為paddle,onnx,pytorch格式的模型提供說明,safetensors格式比較簡單請參考官方文檔,或其它教…

Springboot自習室在線預約系統-計算機畢業設計源碼050000

摘 要 遠程預約是一種全新的網絡租用方式,它通過互聯網突破了時間和空間限制,實現了便捷快速的預約與管理功能。在對數據信息有效組織并整合了一定使用功能后,遠程預約系統可以方便地實現預約與取消,以及信息查詢等功能。經過本人…

vscode gitee問題

如果提交報user.name和user.email錯誤時,在本地工作目錄中.git隱藏文件夾中,config文件添加,添加的名字和email地址--遠程git倉庫的登錄名字和email地址。 [user] name xxx email xxx 分支合并:是把別的分支合并到所在分支。

2024最適合小白的Midjourney教程,值得收藏!

一、Midjourney 的提示詞 1、提示可以包括一個或多個圖像 URL、多個文本短語以及一個或多個參數 1)Image Prompts(圖像提示):可以將圖像 URL 添加到提示中以影響最終結果的樣式和內容。圖像 URL 始終出現在提示的前面。文件應以.…

配置 Node.js 內存限制

配置 Node.js 內存限制 Node.js 應用程序通常需要配置堆內存的大小以優化性能和避免內存溢出問題。你可以通過命令行參數、環境變量或系統屬性來設置 Node.js 的內存限制。下面將分別介紹在 Windows、Linux 和 macOS 系統下的配置方法。 Windows 系統 1. 命令行參數方式 在…

爆款文案管理系統設計

設計一個爆款文案管理系統,目標是幫助營銷團隊高效地創建、管理并分析吸引人的文案,以提升產品或服務的市場吸引力和銷售轉化率。以下是一些關鍵功能和設計考量點: 1. 用戶友好界面 簡潔直觀的界面:確保系統界面清晰&#xff0c…

廣告監測中的c2s/s2s,點擊同步/異步監測

在 ADX 中,監測上報以上報源區分為兩種,c2s 和 s2s 。 C2S(Client to Server):由用戶端(APP)上報給第三方監測平臺的服務器 S2S(server to server):由用戶端(APP&#xf…

vue3項目打包的時候,怎么區別測試環境,和本地環境

在Vue 3項目中區別測試環境和本地環境,并標記接口的方法可以通過環境變量來實現。 首先,你可以在你的項目根目錄下創建一個.env文件,并定義你的環境變量。比如,你可以創建.env.local作為本地環境的配置文件,.env.test…

【Win10 JDK環境配置】

1.JDK下載地址 jdk下載1:http://www.kkx.net/zt/jdk.html jdk下載2:https://www.oracle.com/cn/java/technologies/downloads/#jdk17-windows 2.jdk安裝:雙擊.exe文件打開安裝器按步驟安裝 3.配置環境變量 新建系統變量JAVA_HOME:D:\java11\jdk-11 將J…

intel萬兆網卡固件下載方法

客戶新安裝的機器上含有X710和E810兩種萬兆網卡,根據vmware的兼容性列表,需要安裝對應的驅動和固件,驅動從vmware/broadcom官網下載,固件則需要從intel官網下載。 在intel support頁面里,找到網卡的型號: …

uni-app/vue項目如何封裝全局消息提示組件

效果圖&#xff1a; 第一步&#xff1a;封裝組件和方法&#xff0c;采用插件式注冊&#xff01; 在項目目錄下新建components文件夾&#xff0c;里面放兩個文件&#xff0c;分別是index.vue和index.js. index.vue&#xff1a; <template><div class"toast&quo…

【C++報錯已解決】Invalid Use of Incomplete Type

&#x1f3ac; 鴿芷咕&#xff1a;個人主頁 &#x1f525; 個人專欄: 《C干貨基地》《粉絲福利》 ??生活的理想&#xff0c;就是為了理想的生活! 文章目錄 引言&#xff1a;一、問題描述1.2 報錯分析1.3 解決思路 二、解決方法2.1 方法一&#xff1a;完整類型定義2.2 方法二…

idea:解決Maven報錯 Properties in parent definition are prohibited

在父pom文件中定義了 <dhversion>1.0-SNAPSHOT</dhversion> 在子模塊中引用 <parent><groupId>com.douhuang</groupId><artifactId>douhuang-springcloud</artifactId><version>${dhversion}</version> </parent&…

安卓文件上傳照片單張及多張照片上傳實現

一、首先導入對應庫 //網絡請求庫 implementation com.squareup.okhttp3:okhttp:3.9.0//Gson解析 implementation com.google.code.gson:gson:2.10.1 二、然后就是們實現上傳方法 UploaderTool.java import android.util.Log;import com.google.gson.Gson;import java.io.File…

算法day03 桶排序 數據結構分類 時間復雜度 異或運算

學數據結構之前 必看_嗶哩嗶哩_bilibili 1.認識復雜度和簡單排序算法_嗶哩嗶哩_bilibili 桶排序&#xff08;Bucket sort&#xff09;------時間復雜度為O(n)的排序方法&#xff08;一&#xff09;_多桶排序時間復雜度-CSDN博客 桶排序 測試場景&#xff1a;數組中有10000個隨…

threeJS 為模型增加精靈圖

前言 之前使用css3DRender創建圖片彈框&#xff0c;在旋轉模型到背面時&#xff0c;彈框也背對模型&#xff0c;這與UI要求的效果有出入。考慮將css3DRender換成css2Drender,但是可能是模型的問題&#xff0c;將彈框加入到模型的子集&#xff0c;旋轉模型時彈框發生比較明顯的…

deep learning 環境配置

1 NVIDIA驅動安裝 ref link: https://blog.csdn.net/weixin_37926734/article/details/123033286 2 cuda安裝 ref link: https://blog.csdn.net/qq_63379469/article/details/123319269 進去網站 https://developer.nvidia.com/cuda-toolkit-archive 選擇想要安裝的cuda版…

研華PCI-1711板卡在WIN10教育版系統無法安裝驅動

主要配置&#xff1a;CHIPSET AIMB-705G2、CPU I5-6500、WIN10 教育版、PCI-1711 問題描述&#xff1a;使用官網下載的驅動XNiva&#xff0c;驅動包安裝完成后板卡無法正常識別。解決方法&#xff1a;正常安裝無法情況下只能嘗試強制安裝數字簽名&#xff0c;步驟如下。 XNiv…