有一个带有 setup.py 的 Python 包,其内容如下:
from distutils.core import setup
from distutils.extension import Extension
from Cython.Distutils import build_ext
setup(
name = 'fastahack',
ext_modules=[
Extension("fastahack.cfastahack",
sources=["fastahack/cfastahack.pyx", "lib/Fasta.cpp", "lib/split.cpp"],
libraries=["stdc++"],
include_dirs=["lib/"],
language="c++"),
],
package_data = {'lib': ['*.pyx', "*.c", "*.h", "README.rst"]},
package_dir = {"fastahack": "fastahack"},
cmdclass = {'build_ext': build_ext},
packages = ['fastahack', 'fastahack.tests'],
author = "Brent Pedersen",
author_email="bpederse@gmail.com",
#test_suite='nose.collector'
)
如果未安装 Cython,则无法导入此 setup.py。据我所知,导入 setup.py 是 pip 等工具找出包的依赖关系的方式。我想设置这个包,以便它可以上传到 PyPI,并指出它依赖于 Cython,这样当您尝试“pip install fastahack”或尝试“ pip install”直接从 Git 存储库。
当没有安装 Cython 时,我将如何打包这个模块以便它从 Internet 正确安装?始终使用最新版本的 Cython 将是一个加分项。