我正在为python发行版编写一个安装脚本foo
。我的代码需要BeautifulSoup
,所以目前我的目录结构像这样:在Python包中需要BeautifulSoup - setup.py中需要什么?
<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
用户没有安装它,但我也不想安装它,如果他们已经安装在一个特定的版本。我在Python 2.7.2 docs中注意到我应该在我的setup.py文件中包含packages=[...]
。
但是,Section 2.4. Relationships between Distributions and Packages提到有一种方法可以指定需要特定版本的软件包。我找不到任何有关如何在setup.py中使用“require表达式”的示例,所以我不确定这是否是我需要的。
总之,我需要一个方式说:
该开发包需要
BeautifulSoup
,至少X.X.X版本。如果未安装该版本,请使用提供的版本。
我该怎么做?
既然'__init __。py'在那里,我将如何更改我的设置脚本? –
@Ben McCormack:我已经更新了答案。 – jfs