我正在为 python 发行版编写安装脚本,foo
. 我的代码需要BeautifulSoup
,所以目前我的目录结构如下:
<root>/
setup.py
__init__.py
foo.py
BeautifulSoup/
__init__.py
BeautifulSoup.py
etc.
setup.py 目前看起来像这样(较少的元信息):
setup(name='foo',
version='0.9.0',
py_modules=['foo']
)
如果用户还没有安装它,我想包括BeautifulSoup
它,但如果他们已经在特定版本上安装了它,我也不想安装它。我注意到我应该在我的 setup.py 文件中包含Python 2.7.2 文档。packages=[...]
但是,第 2.4 节。Distributions 和 Packages 之间的关系提到有一种方法可以指定需要特定版本的包。我找不到任何关于如何在 setup.py 中使用“需要表达式”的示例,所以我不确定这是否是我需要的。
简而言之,我需要一种方式来表达:
这个包需要
BeautifulSoup
,至少有 XXX 版本。如果未安装该版本,请使用提供的版本。
我怎么做?