我正在爲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