重用python代码的最佳实践

Tyl*_*ong 34 python dry pythonpath

我写了一个python库应用程序(包含几个*.py文件).我的几个python项目需要重用库应用程序中的代码.重用python代码的推荐最佳做法是什么?目前我已经考虑了三个选项:

  1. 复制和粘贴.这远离最佳做法.它违反了DRY原则.(不要重复自己.)
  2. 添加库应用到环境变量PYTHONPATH的文件夹:export PYTHONPATH=/path/to/library/app.然后,同一台计算机上的每个项目都可以引用库应用程序中的代码.
  3. 以及python代码中sys.path的库应用程序的文件夹: sys.path.append('/path/to/library/app')

在上面三个选项中你更喜欢哪一个?与其他两个选项相比,它有什么优势?你还有其他更好的选择吗?非常感谢,如果具有多年python开发经验的人能够回答这个问题.

Nic*_*tti 43

请允许我提出第四种选择:花时间学习如何打包您的库并将其安装在您的站点包中; 它比人们想象的要容易,而且我确信它的时间花得很好.这是一个非常好的起点:https://packaging.python.org/en/latest/

  • 如果你不能/不想安装到你的机器全局安装中,我也会看看virtualenv.http://pypi.python.org/pypi/virtualenv (3认同)

Ned*_*der 5

在你的三个选项中,PYTHONPATH是要走的路.复制和粘贴显然已经完成,并且将代码添加到其他项目以修改sys.path只会污染这些文件并了解其环境.

第四个选项是,从公共代码创建一个真正的可安装包,并将其安装到Python安装中.然后,您可以像任何其他第三方安装代码一样导入这些模块.