pyinstaller將含有多個py檔案的python程式做成exe
1.儘量將資原始檔夾放到主資料夾下
2.pyi-makespec main.py
製作spec檔案
3.spec檔案在當前資料夾下,main.spec
編輯spec檔案
# -*- mode: python -*- block_cipher = None a = Analysis(['main.py', 'monitor.py', 'E:\\py_project\\test_wpf_python_msg\\src\\recognition_module\\caption_recognizer.py', 'E:\\py_project\\test_wpf_python_msg\\src\\recognition_module\\image_recognizer.py', 'E:\\py_project\\test_wpf_python_msg\\src\\recognition_module\\image_vectorizer.py', 'E:\\py_project\\test_wpf_python_msg\\src\\recognition_module\\network2.py', 'E:\\py_project\\test_wpf_python_msg\\src\\recognition_module\\test_fun.py', 'E:\\py_project\\test_wpf_python_msg\\src\\recognition_module\\unicom_area.py', 'E:\\py_project\\test_wpf_python_msg\\src\\recognition_module\\unicom_area_finder.py', 'E:\\py_project\\test_wpf_python_msg\\src\\recognition_module\\unicom_area_include_caption_judger.py', 'E:\\py_project\\test_wpf_python_msg\\src\\recognition_module\\value_vectorizer.py'], pathex=['E:\\py_project\\test_wpf_python_msg'], binaries=[], datas=[('E:\\py_project\\test_wpf_python_msg\\images', 'images'), ('E:\\py_project\\test_wpf_python_msg\\network_parameters', 'network_parameters')], hiddenimports=[], hookspath=[], runtime_hooks=[], excludes=[], win_no_prefer_redirects=False, win_private_assemblies=False, cipher=block_cipher) pyz = PYZ(a.pure, a.zipped_data, cipher=block_cipher) exe = EXE(pyz, a.scripts, exclude_binaries=True, name='main', debug=False, strip=False, upx=True, console=True ) coll = COLLECT(exe, a.binaries, a.zipfiles, a.datas, strip=False, upx=True, name='main')
(1)第一個列表中寫所有的py檔案,與main一個資料夾的可以直接寫檔名,不一個資料夾的需要寫完整的檔案路徑。
我曾試過在pathex中加入其他檔案的路徑,然後其他py檔案不寫完整路徑,只寫檔名,但是失敗了。
(2)datas是中的元素是tuple型別,tuple的第一個引數是python專案中data檔案(非py檔案)的路徑,
第二個引數是data在exe中儲存此資源的資料夾名,要和專案中的資料夾名相同
(3)最重要: 因為編譯成exe之後的main.exe是在最外層的資料夾的。因為main.py是入口檔案,所以被呼叫的其他py檔案的當前路徑都是main.py檔案的當前路徑。所以在原始碼中就一定要把main.py放到最外層的專案資料夾中,這樣main.py的當前路徑才能和main.exe的路徑保持一致,才能讓其他的py檔案的當前路徑不變,他們才可以找到data資源。
4.用之前配置的spec檔案製作exe: pyinstaller -d main.spec
使用-d製作出來的exe比使用-f的快很多,因為-f把所有dll檔案都打包到一個exe中了。
5.生成的exe在dist資料夾中
相關推薦
pyinstaller將含有多個py檔案的python程式做成exe
1.儘量將資原始檔夾放到主資料夾下2.pyi-makespec main.py製作spec檔案3.spec檔案在當前資料夾下,main.spec編輯spec檔案# -*- mode: python -*- block_cipher = None a = Analy
使用pyinstaller打包多個py檔案時,遇到的no module ...,exe檔案一閃而過,自定義模組打包等問題
1.跳過pyinstaller的安裝,自行谷歌 2. 用cmd cd到你想要打包的py檔案所在的資料夾下面,這裡我的資料夾是ceshi;我需要打包的檔案為main.py、a1.py、a2.py 3.執行命令pyi-makespec main.py,這裡將會根據你的mai
pytest 多個PY檔案執行時共享變數及用fixture和conftest
1.pytest需要測試多個py檔案,這些檔案有一定的依賴關係,同時執行的時候,需要只執行一次初始化setup,結束再執行一次teardown; 2.多個py檔案需要使用pytest的conftest.py,這個檔名是固定的,在同級目錄還需要__init__.py; 3.由於setup這種經典的
Python將一個大檔案按段落分隔為多個小檔案的簡單方法
今天幫同學處理一點語料。語料檔案有點大,並且是以連續兩個換行符作為段落標誌,他想把它按段落分隔成多個小檔案,即每3個段落組成一個新檔案。由於以前沒有遇到過類似的操作,在網上找了一些相似的方法,看起來都有點複雜。所以經嘗試,自己寫了一段程式碼,完美解決問題。 基本思路是,先讀原檔案內容,
python 多個*.py用例檔案生成一個報告--修改HtmlTestRunner
使用python + unittest生成測試報告,目前網上最普遍的是兩個開源方法: HTMLTestRunner HtmlTestRunner 其中第2個是基於第1個實現的;第1個已經不維護了,如果應用到py3,需要自己做一些修改,此外,樣式並不好看( ╯□╰ )。
python——將大檔案切分為多個小檔案
切分檔案 最近遇到需要切分檔案的需求,當然首選用python來解決,網上搜了下感覺都太複雜了,其實用python自帶函式即可解決。 f = open('path&filename','r') #開啟檔案 i = 0 #設定計數器 while i&l
利用Python將多個excel檔案合併為一個檔案
利用Python,將多個excel檔案合併為一個檔案 思路 利用python xlrd包讀取excle檔案,然後將檔案內容存入一個列表中,再利用xlsxwriter將內容寫入到一個新的excel檔案中。 完整程式碼 # -*- coding: utf
Android將多個視訊檔案拼接為一個檔案
正文 利用android的2個類MediaExtractor(抽取音/視訊幀) + MediaMuxer (將音視訊重新寫入一個多媒體檔案,完成封裝)。 合成檔案為MP4。為啥是MP4? 因為android支援最好的就是這個格式。MediaMuxer的native實現者是MPE
用python生成多個txt檔案
在win下建立多個.txt檔案,參考下面的程式碼 for i in range(1000): i_str = str(i+1) file_name = i_str+ '.txt' f = open('a/'+file_name,'w') f.close() 在
將excel按照某一列拆分成多個單獨檔案
1.開啟目標excel,按alt + f11鍵開啟VBE視窗 2.選擇插入->模組貼上下面程式碼到編輯器中 程式碼: Sub 保留表頭拆分資料為若干新工作簿() Dim arr, d As Object, k, t, i&,
Java 將多個PDF檔案合併為一個PDF
這篇文章主要介紹如何在Java應用程式中來實現合併PDF文件的功能。 使用元件: Spire.PDF for Java 使用以下程式碼前,需要下載Spire.PDF for Java包並解壓縮,然後lib資料夾下,匯入Spire.Pdf.jar包到你的Java應用程式中。 imp
windows系統下 如何將多個.csv檔案合成一個.的詳細步驟。
1、新建一個text文字, 2、複製如下程式碼: @echo off E: cd csv2 dir copy *.csv 2all_keywords.csv echo @@@@@@@@@@@@@合
如何將多個C檔案連結在一起----Makefile編寫及make指令
需使用GCC編譯器,關於MinGW的安裝指南:https://people.eng.unimelb.edu.au/ammoffat/teaching/20005/Install-MinGW.pdf 單個.c檔案且沒有使用自定義標頭檔案的編譯,在命令列: &nbs
linux中如何將大檔案按照指定行數分割成多個小檔案?
將一個大檔案分成若干個小檔案方法例如將一個BLM.txt檔案分成字首為 BLM_ 的1000個小檔案,字尾為係數形式,且字尾為4位數字形式先利用wc -l BLM.txt 讀出 BLM.txt 檔案一共有多少行再利用 split 命令split -l 2482 .
python程式,多個包檔案場景下出現的bug排查記錄
class a(b): a.function() AttributeError::object has no attribute class b裡頭有定義這個方法的 經排查,原來拷貝程式碼錯誤,b的檔案自身有
關於如何將多個Cpp檔案關聯起來
一、C++編譯模式通常,在一個C++程式中,只包含兩類檔案——.cpp檔案和.h檔案。其中,.cpp檔案被稱作C++原始檔,裡面放的都是C++的原始碼;而.h檔案則被稱作C++標頭檔案,裡面放的也是C++的原始碼。C+ +語言支援“分別編譯”(separate compil
ORACLE 12C 匯入9i匯出的含有多個使用者的dmp檔案
從EBS 11i 中用system使用者 exp了幾個表,以 user.table 的形式匯出,在12C中進行恢復的時候其中fromuser使用者選擇了system,結果發現沒有匯入成功資料,經過一番折騰發現fromuser必須是表的屬主使用者。記錄
Python同時讀取多個csv檔案,進行簡單的資料處理
#匯入相應模組 import re import os import pandas as pd import numpy as np# 讀取 10個csv 檔案 path = 'E:/round1/' files = os.listdir(path) files_csv =
Python統計多個Powerpoint檔案中幻燈片總數量
晚上吃飯時突然想知道自己做了多少頁《Python程式設計》系列教材的配套PPT,於是就有了下面的程式碼,這套PPT綜合了《Python程式設計基礎》(ISBN:9787302410584)、《Python程式設計(第2版)》(ISBN:9787302436515)和《Pyt
如何將一個PDF檔案頁面進行的拆分為多個PDF檔案
想要將PDF檔案進行拆分其實也算比較簡單的一件事,但是如果我們沒有一個好的工具的話,再簡單的是我們也操作不好,想要將PDF檔案進行頁面的拆分一般都是利用比較專業的PDF編輯器去對它進行操作,小編一般的候想要對