自动下载Python中所有必需的库

问题描述 投票:0回答:2

我编写了这段代码来测试一些导入:

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
python import python-import
2个回答
1
投票

使用

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>'])
    

希望它能帮助您了解虚拟环境


0
投票

pip 安装请求 pip 安装 beautifulsoup4

© www.soinside.com 2019 - 2024. All rights reserved.