如何跨多个python文件共享库

如何跨多个python文件共享库,python,python-3.x,shared-libraries,python-module,Python,Python 3.x,Shared Libraries,Python Module,我检查了几个类似的问题,没有找到满意的答案。如果您希望跨多个不同的文件重用库,那么什么是好的做法。这就是我现在所做的: # LIB.py import sys import platform import socket import mypyfile1 import mypyfile2 # RANDOM_PYFILE.py import LIB LIB.library.some_function() 这是解决此问题的正确方法还是有更好的方法?Python不像JavaScript那样多次

我检查了几个类似的问题,没有找到满意的答案。如果您希望跨多个不同的文件重用库,那么什么是好的做法。这就是我现在所做的:

# LIB.py
import sys
import platform
import socket

import mypyfile1
import mypyfile2


# RANDOM_PYFILE.py
import LIB

LIB.library.some_function()

这是解决此问题的正确方法还是有更好的方法?

Python不像JavaScript那样多次导入脚本会导致多次执行

它也不像C或CSS那样多次导入/包含文件会导致在代码中多次定义该文件。Python足够聪明,只需要导入一次就可以了

所以,继续吧,在所有需要它的文件中导入您需要的所有内容,并根据需要多次导入。Python只会在进程中加载它一次

事实上,这在Python中创建了一个特定的文件重新加载问题,即简单地重新导入文件不会更新代码。Python在函数中对此有一个解决方案。但你显然不需要


所以别担心。导入任意次数。这是Python中的最佳实践。

不,在一个模块中转储所有公共库,然后导入它不是一个好主意。我不知道这解决了什么问题,但是现在每个项目都有一个独立的依赖项,如果你在另一台计算机/实例上尝试tun,那么你现在就必须包含它。事实恰恰相反,通常的做法是拥有一个特定于每个项目的虚拟环境。库不推荐使用方法并不断添加新方法,因此最终会出现一个无法支持两个或多个项目的中心导入,因为存在API不匹配的情况,这听起来是一个很好的方法,可以让您自己陷入被迫更新API/模块tho的境地。我喜欢人们更新他们的东西的声音。谢谢所有的答案!这就解释了为什么这个问题没有被更多地讨论,因为看起来最简单的解决方案就是最好的解决方案。最简单的解决方案就是最好的解决方案是蟒蛇哲学的核心原则:-)。