2017-09-12 2 views
0

내 프로젝트에 서브 모듈을로드 실패 (builtoncement) 라이브러리파이썬 달걀 나는 시멘트를 사용하여 내 파이썬 프로젝트 빌드 계란 패키지를 만들려고하고

내 프로젝트 구조가이

connector 
    README.md 
    requirements.txt 
    setup.py 
    __main.py__ 
    __init.py__ 
    lib 
     __init__.py 
     handlers 
       __init__.py 
       logging 
         __init__.py 
         LogStashHandler.py 

과 같은

__main.py__의 내용

import sys 
import os 
from cement.core.foundation import CementApp 
from lib.handlers.logging.LogStashHandler import LogStashHandler 
…… 


class ConnectorApp(CementApp): 


def main(): 
    log = None 
    with ConnectorApp() as app: 
     log = app.log 



if __name__ == '__main__': 
    main() 

setup.py의 내용이

01 인

(venv) Pradeeps-MacBook-Pro:dist pradeepmishra$ python connectors-0.1-py2.7.egg 
Traceback (most recent call last): 
    File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/runpy.py", line 162, in _run_module_as_main 
    "__main__", fname, loader, pkg_name) 
    File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/runpy.py", line 72, in _run_code 
    exec code in run_globals 
    File "connectors-0.1-py2.7.egg/__main__.py", line 4, in <module> 
ImportError: No module named handlers.logging.LogStashHandler 

이 도와주세요 : 나는 DIST 폴더로 이동하여 프로그램을 실행하려고하면 나는 아래 사용하여 프로그램을 설치하고 23,

python setup.py build 
python setup.py sdist 
python setup.py bdist_egg 

명령, 나는 다음과 같은 오류를 얻고있다. 달걀 제작자에게 lib 모듈 안에 모듈과 하위 모듈을 배치하도록 알릴 수 있습니까?

답변

0

직접 찾았습니다. 패키지에서 최상위 패키지를 지정하는 대신 find_packages() 함수를 전달했으며 charm처럼 작동했습니다.

내 설정 기능이 지금 #처럼 보인다!는/usr/빈/ENV 파이썬

import uuid 
from setuptools import setup, find_packages 
import os 
from pip.req import parse_requirements 


def read(fname): 
    return open(os.path.join(os.path.dirname(__file__), fname)).read() 

BASE_DIR = os.path.dirname(os.path.realpath(__file__)) 
reqs_file = os.path.join(BASE_DIR, 'requirements.txt') 
install_reqs = parse_requirements(reqs_file, session=uuid.uuid1()) 

setup(
name="connectors", 
version="0.1", 
author="Pradeep Mishra", 
install_requires=["argparse", "requests", "pyyaml", "datetime", "cement"], 
packages=find_packages(), 
long_description=read('README.md'), 
data_files=[ ('', ['__main__.py', ])], 
classifiers=[  
    "Programming Language :: Python :: 2.7" 
], 

)

관련 문제