2017-05-01 10 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', 
    ] 
) 

처럼

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...> 

되어 보이는

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입니다 setup.py bdist_conda하지만 동작은 동일하거나 conda 문제이거나 내 구성상의 특정 문제
그게 내가 그런 경우입니다 setup.py ....

+1

중요한 정보가 누락되었다고 생각하는 것은 디렉토리 구조와 setup.py 파일입니다. – DavidW

+0

나는 당신이 말한 정보를 추가하는 게시물을 편집했습니다. 도움을 주신 데 감사드립니다 – jvaquero

+0

'- setuptools - h5py - cython'은 패키지에 _run_ 필요하지 않습니다. –

답변

0

나는 내 환경에 문제가 있음을 발견했다. 나는 conda가 패키지를 잘못 생성하게하는 PYTHONPATH 변수를 정의했다. 빌드 패키지로가는 대신 내 소스 코드를 직접 가져오고있었습니다. PYTHONPATH를 제거하면 문제가 해결됩니다.