擅长:python、mysql、java
<p>当使用setuptools安装脚本(<code>setup.py</code>)时,您需要测试所需模块的<em>测试</em>,并根据需要更新安装依赖项列表以添加后台端口。在</p>
<p>例如,假设您需要<code>collections.OrderedDict</code>类。文档指出它是在Python2.7中添加的,但是在Python2.4及更高版本上使用的<a href="http://pypi.python.org/pypi/ordereddict" rel="nofollow noreferrer">backport is available</a>。在<code>setup.py</code>中,测试<code>collections</code>中是否存在该类。如果导入失败,请将backport添加到您的需求列表中:</p>
<pre><code>from setuptools import setup
install_requires = []
try:
from collections import OrderedDict
except ImportError:
install_requires.append('ordereddict')
setup(
# ...
install_requires=install_requires
)
</code></pre>
<p>然后在需要<code>OrderedDict</code>的代码中使用相同的测试:</p>
^{pr2}$
<p>并依赖<code>pip</code>或{<cd7>}或{<cd8>}或其他安装工具为您获取额外的库。在</p>
<p>许多最近添加的核心库都有可用的backport,包括<code>json</code>(称为<code>simplejson</code>)、<code>argparse</code>、<code>sqlite3</code>(使用<code>pysqlite</code>作为后备的<code>from pysqlite2 import dbapi as sqlite3</code>包)。在</p>
<p>您仍然需要阅读文档;Python文档非常优秀,对于新的模块、类、方法、函数或参数,文档都明确提到了它们是在哪个Python版本中添加的。在</p>