亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

Python項目打包成二進制的方法

瀏覽:4日期:2022-06-30 17:43:11
Python項目打包

python本身是一種腳本語音,發布的話,直接發布源代碼就可以了,但是,可能有些公司并不想發布源代碼,那么,就涉及到打包了,網上有很的打包教程,其實我也沒有認真去研究,因為我只想簡單點,所以,我打算直接編譯成pyc二進制文件來發布,就可以了。

問題

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

解決問題

一般編譯之后的文件命名為:比如我的源文件為test.py,編譯后輸出到__pycache__文件夾下test.cpython-37.pyc,要保持模塊引用不改變,那么必須在編譯之后重命名為test.pyc文件,批注:37是因為我使用的python版本為3.7.4所以含有37,其他版本要做相應的調整。需要按照原來的項目目錄結構輸出pyc文件才能保證模塊之間調用沒有問題。

編碼實現

import osimport shutilimport compileallfrom pathlib import Pathversions = '.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('正在復制文件...請等待...')shutil.copytree(root,build) # 復制文件到build目錄for root, dirs, files in os.walk(build): # 開始遍歷文件# root 表示當前正在訪問的文件夾路徑# 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))

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

牛人之所以是牛人,是因為你現在在踩的坑,他曾經都已經踩過了。

以上就是Python項目打包成二進制的方法的詳細內容,更多關于Python項目打包成二進制的資料請關注好吧啦網其它相關文章!

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 国产美女精品三级在线观看 | 久久国产精品999 | 在线播放亚洲美女视频网站 | 1024在线视频精品免费 | 久久久精| 国产欧美亚洲精品第一区 | 999久久久免费精品国产牛牛 | 国产精品网站在线观看 | 小明看看永久免费视频 | 在线亚洲黄色 | 12306影院午夜入口 | 国产成人精品三区 | 久久久久久尹人网香蕉 | 女人被躁的视频在线观看 | 精品久久一区 | 国产精品日产三级在线观看 | 不卡久久| 99久久精品无码一区二区毛片 | 久草在线这里只有精品 | 打电话系列国产在线 | 成人午夜视频免费 | 亚洲国产精品67194成人 | 欧美日韩久久中文字幕 | 999国产视频 | 女人被狂躁的免费视频网站软件 | 婷婷色香 | 香蕉免费网站 | 精品亚洲成a人片在线观看 精品亚洲成a人在线播放 | 国产精选91热在线观看 | 久久成年人视频 | 在线观看毛片视频 | 极品美女影院 | 国产精品吹潮在线播放 | 又爽又黄又无遮挡的激情视频免费 | 亚洲精品国产专区一区 | 日本高清不卡中文字幕 | 久久久久久a亚洲欧洲aⅴ | 国产欧美日韩在线人成aaaa | 日本特黄特色大片免费视频观看 | 一级毛片a免费播放王色 | 亚洲精品一区二区三区中文字幕 |