为应用分发依赖项的最佳方法是什么?
假设我想要发布一个依赖于SqlAlchemy
的应用程序 - 是否有一种干净的方式将SqlAlchemy
包含在我的存储库中而不强迫用户安装它?
答案 0 :(得分:2)
社区标准是将pip包管理器与requirements file一起使用。
E.g。
SQLAlchemy>=0.9.8
它会强制安装SQLAlchemy,版本高于或等于0.9.8
。
如果要以独立方式分发代码,可以考虑为第三方软件包创建单独的目录并扩展PYTHONPATH
环境变量。
export PYTHONPATH=$PYTHONPATH:/path/to/3rdpartypackages/
答案 1 :(得分:0)
虽然它会强制用户安装它,但我建议使用pip requirements文件。 (http://www.pip-installer.org/en/latest/user_guide.html#requirements-files)
对于这个特定问题,文件可以像一行一样简单:
SQLAlchemy
作为一般做法,您应该在此文件中指定您所依赖的版本号。 如果您不希望用户因为担心污染主要安装而必须安装东西,我会考虑使用VirtualEnv(http://www.virtualenv.org/en/latest/) - 这是分发依赖关系的推荐方法Django至少投射。