日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

使用pipenv建立虚拟环境解决python打包exe文件过大的问题(附打包带图标,多个py文件打包exe)

發布時間:2024/9/30 python 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用pipenv建立虚拟环境解决python打包exe文件过大的问题(附打包带图标,多个py文件打包exe) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

我們編寫的程序可以發給其他小伙伴使用,但是其他小伙伴不一定安裝有python。這時候就需要用到打包啦。打包可以將程序打包成exe文件。然后小伙伴在windows平臺里就可以運行(無需python)。直接成了一款軟件。

打包一般要用到cmd命令行,要求cmd能執行python程序。
教程見鏈接:
cmd執行python程序,文件夾直接進入cmd程序
或者在anaconda的命令行里打包。

原始打包教程,利用anaconda
見鏈接:
python打包成exe 可執行文件 。教程

打包出來的文件,238M.原因是 anaconda里包含了太多我們不需要的包

一.建立虛擬環境打包

Pipenv 是一款管理虛擬環境的命令行軟件,簡單來講,它可以創建一個只在某個目錄下的局部 Python 環境,而這個環境是可以和全局環境脫離開的。

步驟如下:

第一步:安裝 Pipenv
安裝 Pipenv,,此處可以在anaconda的 Anaconda Powershell Prompt 下安裝

pip install pipenv

第二步:進入虛擬環境

pipenv shell

由圖中發現,進入虛擬環境前后CMD行還是有區別的,虛擬環境第二個紅色圈比第一個紅色圈,在前面多幾個英文字母

第三步:安裝依賴的庫
在虛擬環境下安裝 Pyinstaller 和你自己的腳本依賴的第三方庫
比如我的是

pipenv install pyinstaller pipenv install opencv-python

這一部分安裝庫之前忘啦截圖,原諒。

第四步:查看安裝的庫有哪些
如果你這時候使用命令 pip list 并發現里面只有很少的庫,這就說明我們成功進入虛擬環境了

虛擬環境應該可以刪除庫吧。指令類似pipenv uninstall 庫

第五步:打包
打包之前必須先把程序復制到cmd工程目錄下。
我的工程目錄是?C:\Users\Shineion\
打包命令有很多,如打包單一程序,多程序,帶圖標…。

最簡單的

pyinstaller -F xx.py

結果exe在工程目錄下的dist文件里
這次只有50多M,原先的238m

exe可以運行

注意事項:下次使用虛擬環境時可以直接進入,上次在虛擬環境安裝的包仍然存在,無需重復安裝一些包

我遇到的問題是pipenv有時無法刪除庫 ,有時使用pipenv uninstall 刪除命令之后包還存在。。我的解決方法是刪除虛擬環境,然后重新進來時發現之前安裝的包沒有啦。這樣我們可以進行下一次自定義安裝庫

二.打包帶圖標,并且不顯示控制臺

控制臺指打包出來類似cmd的黑色窗口。

pyinstaller -F -w -i bitbug_favicon.ico hm_004.py

-w:不顯示控制臺
-i:圖標

結果;有圖標
圖標在線轉換網站:
http://www.bitbug.net/

無控制臺

多個py文件打包

pyinstaller -F main.py -p py_dir

原始程序

這個代碼是網上借鑒別人的。自己一時懶得寫代碼。

cmmd.py

from time import sleepfrom hello import showdef main():count = 1while count <= 5:show(count)sleep(1)count += 1print("Bye!")if __name__ == "__main__":main()

hello.py

from word import whatdef show(nbr):res = "[ No.{} | Test: {}.]".format(nbr, what())print(res)

word.py

def what():return "Hello, Python"

打包命令:

pyinstaller -F cmmd.py -p test

結果

附錄:pipenv的常見使用命令

pipenv install :創建虛擬環境
pipenv shell :進入虛擬環境(如果不存在,則創建并進入虛擬環境)
pipenv install flask: 安裝模塊
pipenv uninstall flask :卸載模塊
pipenv graph:查看模塊之間的依賴關系
pip list:查看虛擬環境所有模塊
exit() :退出虛擬環境
pip freeze > requirements.txt:導出虛擬環境所有依賴包名
pip install -r requirements.txt :安裝項目所依賴全部模塊
pipenv uninstall --all :卸載所有包
pipenv lock:生成lockfile
pipenv --rm: 刪除虛擬環境
pipenv run python xxx.py: 虛擬環境運行python

常用pyinstaller 命令

  • -i 給應用程序添加圖標
  • -F 指定打包后只生成一個exe格式的文件
  • -D –onedir 創建一個目錄,包含exe文件,但會依賴很多文件(默認選項)
  • -c –console, –nowindowed 使用控制臺,無界面(默認)
  • -w –windowed, –noconsole 使用窗口,無控制臺
  • -p 添加搜索路徑
  • 如何打包資源文件見鏈接:
    python將資源文件一起打包進exe 講解(有算例)

    sklearn模型打包講解
    python打包exe 之打包sklearn模型中的各種坑及其解決方法。

    本文使用的pipenv來管理虛擬環境,還可以使用anaconda來管理虛擬環境。
    anaconda虛擬環境教程大全


    電氣工程的計算機萌新:余登武。寫博文不容易。如果你覺得本文對你有用,請點個贊支持下,謝謝。

    總結

    以上是生活随笔為你收集整理的使用pipenv建立虚拟环境解决python打包exe文件过大的问题(附打包带图标,多个py文件打包exe)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。