python项目打包(setuptools)

找了很久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

你可能感兴趣的:(python,setuptools)