わかりました、C モジュールを含むビルド済みの Python パッケージを作成したいと思います。つまり、最後に、モジュールを使用するために必要なすべてを含み、pipでインストールできるtarballが必要です。つまり、最後に次のことができます。
pip install whatevertarballgetsproduced.tar.gz
mylibrary が利用可能になります。また、仮想環境に適している必要があります。
私の現在のディレクトリ構造は次のとおりです。
project/
+ setup.py
+ mylibrary/
+ __init__.py
+ mylibrary.py
+ _mylibrary.so
+ README
つまり、コンパイルされた C ライブラリは_mylibrary.so
. このファイルの派生元である C ソースは、tarball に含まれません。OSX(Lion)でもこれを行っています。mylibrary.py
C ライブラリ コードへの Python ラッパーが含まれているだけです。
どうすればこれを達成できますか? 私はやろうと思いましたpython setup.py bdist
が、これは本当に私が望むものではありません (それによって生成された tarball が pip でインストールできないものを見逃していない限り)。
完了するために、私の setup.py は次のようになります。
from setuptools import setup
setup(
name='mylibrary_py3mac',
version='0.1.1',
description='My library which is tied to OSX & Python 3',
long_description=open('README').read(),
packages=['mylibrary'],
classifiers = [
'Intended Audience :: Developers',
'License :: OSI Approved :: BSD License',
'Operating System :: MacOS :: MacOS X',
'Programming Language :: Python :: 3',
],
)
この tarball を公に配布する予定はないことに注意してください。これは内部展開のみを目的としています (したがって、プリコンパイルされているか、OSX のみに関連付けられているかは気にしません)。