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 ....
중요한 정보가 누락되었다고 생각하는 것은 디렉토리 구조와 setup.py 파일입니다. – DavidW
나는 당신이 말한 정보를 추가하는 게시물을 편집했습니다. 도움을 주신 데 감사드립니다 – jvaquero
'- setuptools - h5py - cython'은 패키지에 _run_ 필요하지 않습니다. –