【问题标题】:In buildout, include-site-packages=false is not excluding dist-packages在构建中, include-site-packages=false 不排除 dist-packages
【发布时间】:2012-07-03 16:19:05
【问题描述】:

我正在 ubuntu 服务器上安装一个 python 应用程序。我在 buildout.cfg 中添加了 include-site-packages=false 但它仍然没有忽略 dist-packages。

【问题讨论】:

    标签: django buildout


    【解决方案1】:

    Buildout 不知道任何dist-packages,因为这是 Debian 和 Ubuntu 对 Python 的特定补充。如果在排除 site-packages 时 buildout 没有排除它,则不是唯一存在此“问题”的包; virtualenv 也不知道,见Ubuntu + virtualenv = a mess? virtualenv hates dist-packages, wants site-packages

    请随时在buildout issue tracker 中提出问题,以请求在忽略站点包时包含 dist-packages。

    请注意,在我的 Debian 系统上,dist-packages 目录 被排除在外。

    Buildout 通常通过确定以下两个命令之间的区别来确定 site-packages 目录是什么:

    PYTHONNOUSERSITE="x" python -c "import sys, os;print repr([os.path.normpath(p) for p in sys.path if p])"
    

    python -S -c "import sys, os;print repr([os.path.normpath(p) for p in sys.path if p])"
    

    如果后者仍然为您包含 dist-packages 目录,那么我会将其归类为 Ubuntu 或 Debian 错误。在 Debian 6.0.5 和 zc.buildout 1.5.2 上,该路径包括在内。

    dist-packages 目录通常通过site.py module 添加(上面的-S 开关禁用)。 Debian 和 Ubuntu 已经修补了该模块。

    【讨论】:

    • 嗨 Martijn,我期待这个答案。有办法吗?
    • 我已经包含了一些关于 buildout 如何确定site-packages 路径的细节,也许你可以使用这些信息在你自己的系统上弄清楚这一点。否则,您必须使用 zc.buildout 包修补 easy_install 模块中的 _get_system_paths 方法。
    猜你喜欢
    • 1970-01-01
    • 2012-03-12
    • 2010-11-15
    • 2012-12-03
    • 1970-01-01
    • 2019-02-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多