gpt4 book ai didi

Python:将库作为变量导入

转载 作者:行者123 更新时间:2023-11-28 16:58:45 25 4
gpt4 key购买 nike

class A():
def __init__(self):
install_package('abc')
import abc
def sq(self):
print(abc.sqrt(5))

背景

我正在为使用 python 运行应用程序(我发送给他们)的客户编写帮助程序类(全部存储在 helper.py 中)。这些辅助类帮助应用程序运行。为了在客户端更快地部署,我编写了一个名为 install_package 的函数,它隐式调用了 pip install

所有客户端都收到相同的 helper.py 文件,但应用程序不同。我发送给他们的应用程序通常使用 helper.py 中的类的子集。

动机

所以我使用上述类结构的原因现在很明显,我不想在 helper.py 的开头加载所有库,因为这些库将有一个相应的 install_package() 和他们一起。所以对于应用程序可能不会使用所有类的客户端,没有必要安装所有不必要的库

问题

现在的问题是,将上述结构用于 A() 似乎是一个可行的选择,但我在 __init__ 函数中导入的包并未全局导入因此 sq() 不能使用 abc 库中的函数。解决此问题的最佳方法是什么?一种方法是将库存储在 class 的本地变量中。我会怎么做呢?也欢迎提出更改类结构的建议!

最佳答案

像这样的事情怎么样:

import importlib

class A():
def __init__(self):
install_package('abc')
self.abc = importlib.import_module('abc')
def sq(self):
print(self.abc.sqrt(5))

关于Python:将库作为变量导入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55864123/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com