【问题标题】:Installing Python egg dependencies without apt-get在没有 apt-get 的情况下安装 Python egg 依赖项
【发布时间】:2011-02-18 00:48:03
【问题描述】:
我有一个 Python 模块,它分布在 PyPI 上,因此可以使用 easy_install 安装。它依赖于 lxml,而后者又依赖于 libxslt1-dev。我无法使用easy_install 安装libxslt1-dev,因此将其放入install_requires 是行不通的。有什么方法可以让 setuptools 安装它而不是求助于apt-get?
【问题讨论】:
标签:
python
installation
packaging
setuptools
【解决方案1】:
最好使用 apt-get 安装 lxml(或具有 c 扩展名的 python 包),然后从 pypi 中拉取纯 python 包。此外,我通常会尽量避免使用 easy_install 进行顶级安装,我宁愿使用 virtualenv 创建一个虚拟环境,然后使用 virtualenv 创建的 easy_install 来保持我的设置干净。
这个策略对我来说在几个生产环境中都很成功。
【解决方案2】:
setuptools 只能安装您正在使用的包索引中的 Python 包,或者是您使用easy_install -i http://myindex.site/index 指定的默认索引。
任何非 Python 依赖项都必须使用平台的标准安装包安装(基于 Debian 的 Linux 发行版上的 apt-get)。 libxml2 和 libxslt 属于此类,因此您应该以标准方式安装它们。