我编写了这段代码来测试一些导入:
import os
import psutil
import pygetwindow as window
from time import sleep
import win32api
import PySimpleGUI as pys
import pyautogui as py
from time import sleep
import webbrowser
import winsound
import importlib.util
from random import randint
from datetime import date
import locale
layout = [
[pys.Text(f'Complete =)', size=(25, 0))],
]
jan = pys.Window('Test', layout=layout, finalize=True)
jan.read()
我使用
freeze
制作可执行文件,有时会出现错误ModuleNotFoundError: No module named:(lib)
始终是不同的库,我尝试了每个库运行pip install (lib)
但没有工作。
是否存在某种方法来检查是否安装了某个库,如果没有,则在代码中自动下载该库?
更改代码:
import sys
import subprocess
packages = []
file = open('requirements.txt', 'r')
for lines in file:
packages.append(lines)
file.close()
for library in packages:
try:
import library
except Exception as e:
library= library.replace("\n", "")
subprocess.check_call(
[sys.executable, '-m', 'pip', 'install', library]
)
import pygetwindow as window
import PySimpleGUI as pys
import pyautogui as py
import importlib.util
import psutil
layout = [
[pys.Text(f'Complete =)', size=(25, 0))],
]
jan = pys.Window('Test', layout=layout, finalize=True)
jan.read()
需求.txt:
PySimpleGUI
psutil
pygetwindow
pyautogui
importlib
使用
freeze
使其可执行是什么意思?
我认为您指的是
requirements.txt
文件,这是使用命令行上的 pip freeze> requirements.txt
生成的,不要忘记删除不必要的导入。您可以使用 pip install -r requirements.txt
下载所有必需的库
用于检查库和安装自动程序
您可以使用
import <packagename>
进行检查
import sys
import subprocess
try:
import <packagename>
except Exception as e:
subprocess.check_call(
[sys.executable, '-m', 'pip', 'install', '<packagename>'])
希望它能帮助您了解虚拟环境
pip 安装请求 pip 安装 beautifulsoup4