如何安装python包而不将所有内容复制到lib / site-packages中?

时间:2010-04-20 04:57:25

标签: python deployment installation

我想开发一个常见的python包,我得到的其他包依赖于它。例如:

  • 程序包A /
  • packageB /
  • packageC /
  • commonPackage /

packageA,packageB和packageC都可以直接执行,但它们都依赖于commonPackage。我想将commonPackage安装到lib / site-packages中,但我不希望它复制源代码。相反,我希望它在lib / site-packages中创建一个commonPackage.pth,其中包含commonPackage所在的路径。因此,当我修改commonPackage或从SVN更新它时,我不需要再次安装它。这就出现了问题,如何编写setup.py或使用python setup.py install的选项,以便它能够实现我的目标?

2 个答案:

答案 0 :(得分:1)

您可以随时查看virtualenv,它将允许您为每个项目创建一个python环境 - 这是开发/构建/部署您的应用程序的理想方式,而无需加载您的site-packages目录和杂物。

这里有一个很好的教程:

http://iamzed.com/2009/05/07/a-primer-on-virtualenv/

祝你好运!

答案 1 :(得分:1)

糟糕,我只是找到我想要的here。 setuptools的develop命令就像我说的那样。在这里输入

python setup.py develop

它创建.pth而不是将所有内容复制到site-packages中。