5

次のような 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 がインストールされていないときにインターネットから正しくインストールされるように、このモジュールをパッケージ化するにはどうすればよいですか? 常に最新バージョンの Cython を使用するとプラスになります。

4

3 に答える 3