微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在python中自动下载所有必要的库

如何解决在python中自动下载所有必要的库

我做了这个代码来测试一些导入:

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)always is a different lib,我尝试了每个 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 =)',finalize=True)
jan.read()

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

希望对虚拟环境有所帮助,了解虚拟环境

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?