我正试图获得一个运行我的烧瓶应用程序的入口点。
我认为这是由于目录结构:
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
。
答案 0 :(得分:0)
我刚刚把所有烧瓶app文件放到项目根目录下的子目录中。很好地解决了。
/project
- setup.py
/flask_app
- __init__.py
- app.py