欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python項(xiàng)目打包成二進(jìn)制的方法

 更新時(shí)間:2020年12月30日 16:50:00   作者:dwBurning  
這篇文章主要介紹了Python項(xiàng)目打包成二進(jìn)制的方法,幫助大家更好的理解和使用python,感興趣的朋友可以了解下

Python項(xiàng)目打包

python本身是一種腳本語音,發(fā)布的話,直接發(fā)布源代碼就可以了,但是,可能有些公司并不想發(fā)布源代碼,那么,就涉及到打包了,網(wǎng)上有很的打包教程,其實(shí)我也沒有認(rèn)真去研究,因?yàn)槲抑幌牒唵吸c(diǎn),所以,我打算直接編譯成pyc二進(jìn)制文件來發(fā)布,就可以了。

問題

編譯成二進(jìn)制文件(*.pyc)之后,文件名都變了,模塊之間怎么引用?
網(wǎng)上的例子,大都是對單個(gè)文件編譯的介紹,對整個(gè)目錄編譯的話,也都是輸出到相應(yīng)的文件夾下,需要單獨(dú)抽取出來,發(fā)布。

解決問題

一般編譯之后的文件命名為:比如我的源文件為test.py,編譯后輸出到__pycache__文件夾下test.cpython-37.pyc,要保持模塊引用不改變,那么必須在編譯之后重命名為test.pyc文件,批注:37是因?yàn)槲沂褂玫膒ython版本為3.7.4所以含有37,其他版本要做相應(yīng)的調(diào)整。
需要按照原來的項(xiàng)目目錄結(jié)構(gòu)輸出pyc文件才能保證模塊之間調(diào)用沒有問題。

編碼實(shí)現(xiàn)

import os
import shutil
import compileall
from pathlib import Path
versions = ".cpython-37"
pycache = "__pycache__"
build_dir = "build"
root = os.getcwd()
print("正在編譯文件...請等待...")
compileall.compile_dir(root) # 編譯
build = Path(root,build_dir)
if build.exists():
    print("正在移除build目錄...請等待...")
    shutil.rmtree(build)
print("正在復(fù)制文件...請等待...")
shutil.copytree(root,build) # 復(fù)制文件到build目錄
for root, dirs, files in os.walk(build): # 開始遍歷文件
        # root 表示當(dāng)前正在訪問的文件夾路徑
        # dirs 表示該文件夾下的子目錄名list
        # files 表示該文件夾下的文件list
        # 遍歷文件
        for f in files:
            src = os.path.join(root, f)
            if f.endswith(".py"):
                os.remove(src)
            elif f.endswith(".pyc"):
                upper_dir = root.replace(pycache,"")
                dst = os.path.join(upper_dir,f.replace(versions,""))
                shutil.copy(src,dst)
for root, dirs, files in os.walk(build): # 移除緩存文件夾
    print("正在移除緩存文件...請等待...")
    if root.endswith(pycache):
        shutil.rmtree(root)
print("打包完成...請查看目錄:"+str(build))

注意文件中版本號的調(diào)整,基本上是通用的,所有的python項(xiàng)目都可以用拿來就用。代碼很簡單,但是很實(shí)用。

牛人之所以是牛人,是因?yàn)槟悻F(xiàn)在在踩的坑,他曾經(jīng)都已經(jīng)踩過了。

以上就是Python項(xiàng)目打包成二進(jìn)制的方法的詳細(xì)內(nèi)容,更多關(guān)于Python項(xiàng)目打包成二進(jìn)制的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Flask框架debug與配置項(xiàng)的開啟與設(shè)置詳解

    Flask框架debug與配置項(xiàng)的開啟與設(shè)置詳解

    這篇文章主要介紹了Flask框架debug與配置項(xiàng)的開啟與設(shè)置,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-09-09
  • pandas 讀取excel文件的操作代碼

    pandas 讀取excel文件的操作代碼

    pandas 讀取excel文件使用的是 read_excel方法。本文將詳細(xì)解析read_excel方法的常用參數(shù),以及實(shí)際的使用示例,感興趣的朋友跟隨小編一起看看吧
    2021-10-10
  • Python安裝并操作redis實(shí)現(xiàn)流程詳解

    Python安裝并操作redis實(shí)現(xiàn)流程詳解

    這篇文章主要介紹了Python安裝并操作redis實(shí)現(xiàn)流程詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-10-10
  • Python?Paramiko上傳下載sftp文件及遠(yuǎn)程執(zhí)行命令詳解

    Python?Paramiko上傳下載sftp文件及遠(yuǎn)程執(zhí)行命令詳解

    這篇文章主要為大家介紹了Python?Paramiko上傳下載sftp文件及遠(yuǎn)程執(zhí)行命令示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-07-07
  • Python使用正則表達(dá)式抓取網(wǎng)頁圖片的方法示例

    Python使用正則表達(dá)式抓取網(wǎng)頁圖片的方法示例

    這篇文章主要介紹了Python使用正則表達(dá)式抓取網(wǎng)頁圖片的方法,結(jié)合具體實(shí)例形式分析了Python網(wǎng)頁文件的讀取及正則匹配相關(guān)操作技巧,需要的朋友可以參考下
    2017-04-04
  • slearn缺失值處理器之Imputer詳析

    slearn缺失值處理器之Imputer詳析

    這篇文章主要給大家介紹了關(guān)于slearn缺失值處理器之Imputer的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2022-08-08
  • Django中自定義查詢對象的具體使用

    Django中自定義查詢對象的具體使用

    這篇文章主要介紹了Django中自定義查詢對象的具體使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • Python3操作SQL Server數(shù)據(jù)庫(實(shí)例講解)

    Python3操作SQL Server數(shù)據(jù)庫(實(shí)例講解)

    下面小編就為大家?guī)硪黄狿ython3操作SQL Server數(shù)據(jù)庫(實(shí)例講解)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-10-10
  • 帶你用Python實(shí)現(xiàn)Saga 分布式事務(wù)的方法

    帶你用Python實(shí)現(xiàn)Saga 分布式事務(wù)的方法

    在這篇文章里,我們介紹了 SAGA 的理論知識,也通過一個(gè)例子,完整給出了編寫一個(gè) SAGA 事務(wù)的過程,涵蓋了正常成功完成,異常情況,以及成功回滾的情況,需要的朋友參考下吧
    2021-09-09
  • Python?合并/拆分Excel的實(shí)現(xiàn)示例

    Python?合并/拆分Excel的實(shí)現(xiàn)示例

    有時(shí)對于多個(gè)工作表需要進(jìn)行合并或拆分,以便進(jìn)行瀏覽總結(jié),本文主要介紹了Python?合并/拆分Excel的實(shí)現(xiàn)示例,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-09-09

最新評論