2017-05-01 22 views
0

私はpythonツールを配布するcondaパッケージを作成しようとしています。このツールの一部はcython化されており、python setup.py installを使って完全に動作します。 私はtarを適切に作成しますが、インストールしようとすると、パッケージにはPythonのインポートと.soファイルをリンクする.pyファイルが含まれません。 そのパッケージをインポートしようとすると、モジュールが見つかりません。Condaビルドとcythonの問題

cythonとcondaの周りに見つかったのは、meta.yamlのbuild/runセクションにcython要件を導入することだと思いますが、なぜそれらの.pyファイルは含まれていないのか分かりません。

これは私のsetup.pyファイルが

from setuptools import setup, find_packages 
from distutils.core import Extension 
from Cython.Build import cythonize 


extensions = [Extension('project.src.norm', ['project/src/norm.pyx'])] 

setup(
    name="PROJECT", 
    packages=find_packages(), 
    version="1.0.0", 
    description="PROJECT", 
    author='Lab', 
    author_email='email', 
    url='http://', 
    license='LICENSE.txt', 
    include_package_data=True, 
    entry_points={'console_scripts': ['exec_file = project.run_exec:main']}, 
    zip_safe=False, 
    ext_modules=cythonize(extensions), 
    classifiers=[ 
     'Development Status :: 4 - Beta', 
     'Environment :: Console', 
     'Intended Audience :: Bioinformaticians', 
     'License :: OSI Approved :: BSD License', 
     'Operating System :: MacOS', 
     'Operating System :: Microsoft :: Windows', 
     'Operating System :: POSIX', 
     'Programming Language :: Python :: 2.7', 
    ] 
) 

のようなディレクトリ構造に見える

package: 
    name: project 
    version: 1.0.0 
source: 
    path: /home/user/project 
requirements: 
    build: 
    - python >=2.7 
    - jinja2 
    - numpy 
    - scipy 
    - matplotlib 
    - pysam 
    - setuptools 
    - h5py 
    - cython 
    run: 
    - python >=2.7 
    - jinja2 
    - numpy 
    - scipy 
    - matplotlib 
    - pysam >=0.8 
    - setuptools 
    - h5py 
    - cython 
build: 
    preserve_egg_dir: True 
    entry_points: 
    - exec_file = project.run_exec:main 
about: 
    license: GPL3 
    summary: "PROJECT" 

私meta.yamlですが編集

project/ 
    setup.py 
    __init__.py 
    MANIFEST.in 
    requirements.txt 
    README.md 
    info/ 
     meta.yaml 
     build.sh 
     bld.bat 
    project/ 
     src/ 
      norm.pyx 
     run_exec.py 
    subproject/ 
     <etc...> 

です: 今日、私は、Pythonを使用してみましたsetup.py bdist_condaの動作は同じですが、それはcondaの問題です。私の設定上の特定の問題。
それは私が推測するのは、setup.pyです。

+1

重要な情報が欠落しているとは、ディレクトリ構造とsetup.pyファイルです。 – DavidW

+0

あなたが言った情報を追加して投稿を編集しました。助けてくれてありがとう – jvaquero

+0

'--setuptools - h5py - cython'は、おそらくパッケージの_run_に必要ではありません。 –

答えて

0

私の環境で問題が見つかりました。コンドラがパッケージを正しく生成しないというPYTHONPATH変数を定義しました。ビルドパッケージに行く代わりに、自分のソースコードを直接インポートしていました。 PYTHONPATHを削除すると、問題は解決されます。