setup.py中的入口点无法正常工作

时间:2016-07-20 16:11:52

标签: python flask setuptools setup.py

我正试图获得一个运行我的烧瓶应用程序的入口点。

我认为这是由于目录结构:

my_app
  - __init__.py
  - app.py  
  - setup.py
  - etc..

我的setup.py文件:

from setuptools import setup, find_packages
import os.path

def read_requirements(pathname):
    with open(pathname) as f:
        return [line for line in (x.strip() for x in f) if not line.startswith('#')]

def project_path(*names):
    return os.path.join(os.path.dirname(__file__), *names)

setup(
    name='my_app',
    version='0.1.0',

    install_requires=read_requirements(os.path.join(os.path.dirname(__file__), 'requirements.txt')),

    test_suite='nose.collector',

    entry_points={
        'console_scripts': [
            'START_ME=app:run',
        ],
    },
    classifiers=["Programming Language :: Python :: 2.7"],
    description=__doc__,
    long_description='\n\n'.join(open(project_path(name)).read() for name in (
            'README.md',
            )),
    zip_safe=False,
    include_package_data=True,
    packages=find_packages(),
    )

我认为find_packages()方法没有发现它在包中的事实,也许它在寻找包的低级目录?我已经尝试find_packages('.')尝试让它在项目根目录中搜索,但这不起作用。

我可以在不改变目录结构的情况下使用它吗?

这是实际项目:

https://github.com/ThriceGood/Mimic

编辑:

另外,我注意到当我运行setup.py install时,我在egg.info文件夹中得到一个top_level.txt文件,它说顶层实际上是一个存在于root / main包内的包,就像:

 / main_package
     - __init__.py
     - app.py
     / sub_package
         - __init__.py
         - sub.py
<_>在top_level.txt文件中,写入sub_package

1 个答案:

答案 0 :(得分:0)

我刚刚把所有烧瓶app文件放到项目根目录下的子目录中。很好地解决了。

/project
  - setup.py
  /flask_app
    - __init__.py
    - app.py