找了很久python的分发工具(setuptools)使用, 这里简单总结说下。
我的项目路径:
setup.py
flask_project/
oneapp/
__init__.py
manage.py
model/
__init.py
config.cfg
function.py
...
templates/
retrieve_password.html
注意:setup.py文件应置于项目根目录下
# setup.py
from setuptools import setup
# from distutils.core import setup
from setuptools import find_packages
setup(
name='flask_project',
version='1.0.0',
description='flask project',
author='hzh',
author_email='[email protected]',
url='https://www.python.org/',
license='MIT',
# 下面是重点部分
# 自动寻找 python包下的.py文件(简化配置操作),因此需要在每个文件夹里里添加 __init__.py文件
# 否则可能会出现有些模块找不到
packages=find_packages(),
#分发静态文件需要
include_package_data=True,
# 所需要的扩展
install_requires=[
'Flask>=1.0',
'Flask-Mail>=0.9',
'Flask-SQLAlchemy>=2.3',
'PyMySQL>=0.9']
)
添加静态文件:
1.创建MANIFEST.in文件(记事本打开)
2.模仿如下格式写入语句
# recursive-include 'xxxxxxxxx'
# 例如,路径下所有的cfg文件
recursive-include flask_project/oneapp/model *.cfg
# 或者,路径下所有的html文件
recursive-include flask_project/oneapp/model/templates *.html
分发(当前setup.py目录下):
python setup.py sdist bdist_wheel
成功后dist目录存在两个文件
dist /
example_pkg_your_username-0.0.1-py3-none-any.whl
example_pkg_your_username-0.0.1.tar.gz
使用:
pip install xxxxxx
参考链接:
https://packaging.python.org/tutorials/packaging-projects/#packaging-your-project
https://blog.csdn.net/chenfeidi1/article/details/80873979