我怎样才能在python中使用通用代码?

Jon*_*Jon 18 python module

我目前正在维护自己的两个应用程序.它们共享一些共同的方面,因此,共享一些代码.到目前为止,我刚刚将模块从一个项目复制到另一个项目,但现在它已成为一个维护问题.我宁愿在两个项目之外的一个地方使用公共代码,它们都可以导入.然后,对公共代码的任何更改都将反映在两个项目中.

我的问题是:我该怎么做?我是否使用此代码创建了一个库?如果是这样,依赖项目如何使用库?我想一两件事,我在这里奋斗的是,通用的代码不给任何人真正有用的,或者至少,我不想让它支持的模块,其他人可以使用.

如果我的问题不明确,请告诉我.

Joc*_*zel 18

你不需要做什么特别的事情,Python只需要找到你的模块.这意味着您必须将公共模块放入您的PYTHONPATH,或者您将其位置添加到sys.path.看到这个.

说你有

~/python/project1
~/python/project2
~/python/libs/stuff.py
~/python/libs/other.py
Run Code Online (Sandbox Code Playgroud)

您可以PYTHONPATH='~/python/libs'在您的操作系统环境中设置,也可以设置

import sys, os
sys.path.append(os.path.expanduser('~/python/libs')) # or give the full path
Run Code Online (Sandbox Code Playgroud)

之后你可以在import stuff, other任何地方做.

你也可以打包你的东西,然后你需要这样的布局:

~/python/project1
~/python/project2
~/python/libs/mylibname/__init__.py
~/python/libs/mylibname/stuff.py
~/python/libs/mylibname/other.py
Run Code Online (Sandbox Code Playgroud)

~/python/libs/mylibname/__init__.py必须存在,但它可以是一个空文件.它变成mylibname了一个.

将libs文件夹添加到您的路径后,您可以这样做from mylibname import stuff, other.