【问题标题】:How to install python package without copy everything into lib/site-packages?如何在不将所有内容复制到 lib/site-packages 的情况下安装 python 包?
【发布时间】:2010-04-20 04:57:24
【问题描述】:

我想开发一个通用的python包,我得到了其他包依赖它。例如:

  • packageA/
  • 包B/
  • 包C/
  • commonPackage/

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

【问题讨论】:

    标签: python deployment installation


    【解决方案1】:

    糟糕,我正好找到了我想要的 here。 setuptools 的开发命令按我说的做。在这里输入

    python setup.py develop
    

    它创建 .pth 而不是将所有内容复制到站点包中。

    【讨论】:

      【解决方案2】:

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

      这里有一个很好的教程:

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

      祝你好运!

      【讨论】:

        猜你喜欢
        • 2017-09-02
        • 1970-01-01
        • 1970-01-01
        • 2021-01-02
        • 1970-01-01
        • 1970-01-01
        • 2019-08-31
        • 2018-10-10
        • 1970-01-01
        相关资源
        最近更新 更多