代码之家  ›  专栏  ›  技术社区  ›  froadie

在Python发行版中包含文件的两种技巧:哪种更好?

  •  13
  • froadie  · 技术社区  · 16 年前

    方法1:

    在setup.py中包含以下代码:

    from distutils.core import setup
    
    setup(name='ProjectName', 
          version='1.0', 
          packages=['somePackage'],
          data_files = [('config', ['config\propFiles1.ini', 
                                    'config\propFiles2.ini', 
                                    'config\propFiles3.ini'])]
          )
    

    在setup.py中包含以下代码:

    from distutils.core import setup
    
    setup(name='ProjectName', 
          version='1.0', 
          packages=['somePackage']
          )
    

    include config\* 
    

    这两种方法有什么区别吗?你更喜欢哪一个?我倾向于第一个,因为这样就不需要MANIFEST.in文件了。但是,在第一种方法中,您必须单独指定每个文件,而在第二种方法中,您只能包含整个文件夹。我还有什么需要考虑的吗?标准做法是什么?

    1 回复  |  直到 16 年前
        1
  •  28
  •   Ian Bicking    16 年前

    in控制调用时将哪些文件放入分发zip文件 python setup.py sdist . 是的 控制安装内容。 data_files package_data )控制安装了哪些文件(我认为还可以确保zip文件中包含文件)。对于不安装的文件(如文档和文档),请使用MANIFEST.in 对于您使用的不是Python代码的文件(如图像或模板)。

    推荐文章