我目前正在维护两个自己的应用程序。它们都有一些共同的方面,因此,共享一些代码。到目前为止,我只是将模块从一个项目复制到另一个项目,但现在它变成了一个维护问题。我宁愿将公共代码放在两个项目之外的一个地方,它们都可以导入。然后,对公共代码的任何更改都将反映在这两个项目中。
我的问题是:我该怎么做?我要用这些代码创建一个库吗?如果是,依赖项目如何使用库?我认为我在这里遇到的一件事是,公共代码对其他人来说并不是很有用,或者至少,我不想让它成为其他人可以使用的受支持的模块。
如果我的问题不清楚,请告诉我。
Tags:
有很多方法可以考虑代码的因素,因此它是可重用的。这真的取决于你的具体情况,尽可能什么是最有效的。将代码分解成单独的包和模块总是一个好主意,因此相关的代码保持捆绑在一起,可以从其他包和模块中重用。将代码分解为模块内的类也有助于将相关代码分组在一起。
我想说,将公共代码放入PYTHONPATH上的模块或包中,并对两个应用程序都可用,这可能是最好的解决方案。
我会这样做:
为你的共同项目做一个鸡蛋档案:
使egg文件成为库的一部分
在您的项目中:
不需要做什么特别的事情,Python只需要找到您的模块。这意味着您必须将公共模块放入
PYTHONPATH
,或者将它们的位置添加到sys.path
。See this.说你有
您可以在操作系统环境中设置
PYTHONPATH='~/python/libs'
,也可以之后你可以在任何地方做
import stuff, other
。你也可以打包你的东西,然后你需要这样的布局:
~/python/libs/mylibname/__init__.py
必须存在,但它可以是空文件。它将mylibname
变成package。在如上所述将libs文件夹添加到您的路径后,您可以执行
from mylibname import stuff, other
。相关问题 更多 >
编程相关推荐