我可能问了一些愚蠢的问题。现在我要导入这些:
import os
from datetime import datetime
from time import sleep
import cv2
import numpy as np
import mediapipe as mp
import math
import sys
import tkinter
import customtkinter
from tkinter import filedialog
from PIL import ImageTk, Image
import PIL.Image
import ctypes
import requests
import pytube
from discord_webhook import DiscordWebhook, DiscordEmbed
import webbrowser
和输出程序几乎有500MB有什么方法我可以优化它吗?
要做的一件事是查看这些模块在哪里使用-如果您为一些非常小的东西导入像tkinter
这样的大模块(带有所有依赖项),这也可以手工完成,可能值得删除。
其他模块太小了,几乎不值得花时间。如果您想要精简和简单,那么Python不是开始的方式。大多数编译语言都允许你创建一个占用空间小得多的安装,因为编译器可以优化包含和省略的内容。
话虽如此,考虑一下存储成本和时间成本。你到底在节省什么?如果应用程序将被安装数百次甚至数千次(数百万次?),那么可能需要减少几个meg,当然是100个meg。但如果只有你呢?这个空间对你来说值多少钱?
还要注意,你导入的不仅仅是模块,还有它们的所有依赖项。尝试安装pip install pipdeptree
并运行:
pipdeptree
查看环境中实际包含的内容(理想情况下,只安装了实际使用的包)。正如用户@0x263A正确指出的那样,这个问题回答了如何实现这一目标。