最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

如何將python代碼打包成pip包(可以pip?install)

 更新時(shí)間:2023年02月08日 08:33:31   投稿:zx  
這篇文章主要介紹了如何將python代碼打包成pip包(可以pip?install),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

python代碼包的用途

當(dāng)你想打包一個(gè)目錄時(shí),需要現(xiàn)在目錄中放一個(gè)_init_.py,該文件叫包初始化文件,文件可以為空,也可以放一些代碼。舉例:

目錄hello
        ——  __init__.py
        ——  代碼1.py
        ——  代碼2.py
        ......

為什么這樣做?

如果你想import任何有_init_.py文件的目錄下的任何python代碼,python都會(huì)先運(yùn)行_init_.py,再運(yùn)行代碼文件。

添加_init_.py還有一個(gè)好處,就是在寫python代碼的時(shí)候不用擔(dān)心python解釋器找不到這個(gè)目錄,不用擔(dān)心你import時(shí)pycharm給你的包劃紅線了。

以前寫代碼是,如果你想導(dǎo)入其他項(xiàng)目的python代碼,往往會(huì)報(bào)錯(cuò),解決方法有三種:

  1. 將別人的代碼打成pip包,用pip安裝到自己的項(xiàng)目
  2. 在自己的代碼中寫sys.path.append(“別人代碼的目錄的路徑”)
  3. 在別人代碼目錄中創(chuàng)建一個(gè)__init__py

你也可以在包中添加一些全局變量或者全局類,供包中的其他代碼使用,舉例:

目錄hello
_init_.py

class birds:
    legs = 2
    wings = 2
    head = 1

然后項(xiàng)目中其他任意位置的代碼都可以使用init中的包全局變量和類

格式是 from 目錄 import 類/變量

from hello import birds

編寫setup.py

和_init_.py同級(jí)目錄中創(chuàng)建一個(gè)setup.py,這個(gè)就是pip包安裝的腳本。

setup.py

 from setuptools import setup find_packages
setup(name='birds',
      version='0.0.1',
      description='birds atttributes and functions',
      author='megnet',
      author_email='2290906844@qq.com',
      requires= ['numpy','matplotlib'], # 定義依賴哪些模塊
      packages=find_packages(),  # 系統(tǒng)自動(dòng)從當(dāng)前目錄開始找包
      # 如果有的包不用打包,則只能指定需要打包的文件
      #packages=['代碼1','代碼2','__init__']  #指定目錄中需要打包的py文件,注意不要.py后綴
      license="apache 3.0"
      )
 
'''
  • name : 打包后包的文件名
  • version : 版本號(hào)
  • author : 作者
  • author_email : 作者的郵箱
  • py_modules : 要打包的.py文件
  • packages: 打包的python文件夾
  • include_package_data : 項(xiàng)目里會(huì)有一些非py文件,比如html和js等,這時(shí)候就要靠include_package_data 和 package_data 來(lái)指定了。package_data:一般寫成{‘your_package_name’: [“files”]}, include_package_data還沒(méi)完,還需要修改MANIFEST.in文件.MANIFEST.in文件的語(yǔ)法為: include xxx/xxx/xxx/.ini/(所有以.ini結(jié)尾的文件,也可以直接指定文件名)
  • license : 支持的開源協(xié)議
  • description : 對(duì)項(xiàng)目簡(jiǎn)短的一個(gè)形容
  • ext_modules : 是一個(gè)包含Extension實(shí)例的列表,Extension的定義也有一些參數(shù)。
  • ext_package : 定義extension的相對(duì)路徑
  • requires : 定義依賴哪些模塊
  • provides : 定義可以為哪些模塊提供依賴
  • data_files :指定其他的一些文件(如配置文件),規(guī)定了哪些文件被安裝到哪些目錄中。如果目錄名是相對(duì)路徑,則是相對(duì)于sys.prefix或sys.exec_prefix的路徑。如果沒(méi)有提供模板,會(huì)被添加到MANIFEST文件中。

生成whl和tar.gz文件包

python setup.py bdist_wheel # 打包為whl文件
python setup.py sdist # 打包為tar.gz文件

在和_init_.py同級(jí)目錄下有一個(gè)dist目錄,打包好的文件就在里面。

到此這篇關(guān)于如何將python代碼打包成pip包(可以pip install)的文章就介紹到這了,更多相關(guān)python代碼打包成pip包內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python交易記錄整合交易類詳解

    python交易記錄整合交易類詳解

    這篇文章主要介紹了python交易記錄整合交易類詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-07-07
  • python將Dataframe格式的數(shù)據(jù)寫入opengauss數(shù)據(jù)庫(kù)并查詢

    python將Dataframe格式的數(shù)據(jù)寫入opengauss數(shù)據(jù)庫(kù)并查詢

    這篇文章主要介紹了python將Dataframe格式的數(shù)據(jù)寫入opengauss數(shù)據(jù)庫(kù)并查詢,文章介紹詳細(xì)具有一定的參考價(jià)值,希望對(duì)你的學(xué)習(xí)有所幫助
    2022-04-04
  • 利用python提取wav文件的mfcc方法

    利用python提取wav文件的mfcc方法

    今天小編就為大家分享一篇利用python提取wav文件的mfcc方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-01-01
  • Django rest framework分頁(yè)接口實(shí)現(xiàn)原理解析

    Django rest framework分頁(yè)接口實(shí)現(xiàn)原理解析

    這篇文章主要介紹了Django rest framework分頁(yè)接口實(shí)現(xiàn)原理解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-08-08
  • 如何利用itertuples對(duì)DataFrame進(jìn)行遍歷

    如何利用itertuples對(duì)DataFrame進(jìn)行遍歷

    這篇文章主要介紹了如何利用itertuples對(duì)DataFrame進(jìn)行遍歷問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • 淺談Python中threading join和setDaemon用法及區(qū)別說(shuō)明

    淺談Python中threading join和setDaemon用法及區(qū)別說(shuō)明

    這篇文章主要介紹了淺談Python中threading join和setDaemon用法及區(qū)別說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-05-05
  • Win下PyInstaller 安裝和使用教程

    Win下PyInstaller 安裝和使用教程

    pyinstaller是一個(gè)非常簡(jiǎn)單的打包python的py文件的庫(kù),這篇文章主要介紹了PyInstaller-Win安裝和使用教程,本文通過(guò)流程實(shí)例相結(jié)合給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2019-12-12
  • Django實(shí)現(xiàn)分頁(yè)功能

    Django實(shí)現(xiàn)分頁(yè)功能

    今天給大家分享的是如何使用Django實(shí)現(xiàn)簡(jiǎn)單分頁(yè)功能的方法,主要依托于Django提供的一個(gè)新的類Paginator來(lái)實(shí)現(xiàn)的
    2018-07-07
  • 基于SpringBoot構(gòu)造器注入循環(huán)依賴及解決方式

    基于SpringBoot構(gòu)造器注入循環(huán)依賴及解決方式

    這篇文章主要介紹了基于SpringBoot構(gòu)造器注入循環(huán)依賴及解決方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-04-04
  • 基于Python實(shí)現(xiàn)png轉(zhuǎn)webp的命令行工具

    基于Python實(shí)現(xiàn)png轉(zhuǎn)webp的命令行工具

    網(wǎng)頁(yè)上使用webp格式的圖片更加省網(wǎng)絡(luò)流量和存儲(chǔ)空間,但本地圖片一般是png格式的,所以本文就來(lái)為大家介紹一下如何使用Python實(shí)現(xiàn)png轉(zhuǎn)webp功能吧
    2025-02-02

最新評(píng)論

天水市| 久治县| 保靖县| 永清县| 息烽县| 哈尔滨市| 乐平市| 息烽县| 开原市| 泾阳县| 云阳县| 洪湖市| 手机| 泰兴市| 西吉县| 新竹县| 静乐县| 泰和县| 杨浦区| 齐齐哈尔市| 南靖县| 武宁县| 仙游县| 朝阳县| 陈巴尔虎旗| 庄浪县| 安泽县| 乌鲁木齐县| 册亨县| 抚州市| 邢台县| 乡城县| 沛县| 台北县| 醴陵市| 莱州市| 新晃| 浦城县| 宜宾市| 太仓市| 石门县|