首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Setuptools -传送附加文件

Setuptools -传送附加文件
EN

Stack Overflow用户
提问于 2013-08-09 10:17:28
回答 1查看 1.5K关注 0票数 1

Situation

我创建了我的setup.py文件。其中大部分都是开箱即用的,但我在发送一些附加文件时遇到了一些麻烦。但我注意到在运行时,tar.gz中没有包含以下文件

代码语言:javascript
复制
python setup.py sdist
  • doc文件
  • 虚拟文件
  • 服务脚本

文档文件的位置可以是os特定的。但我希望看到/etc/init.d/中的服务脚本和/etc/包中的示例配置(存储在我的doc文件中)。虚拟文件可以存储在我的包文件夹中。

问题

如何在我的tar.gz中传送这些文件?

setup.py

代码语言:javascript
复制
from setuptools import setup                                                    

setup(                                                                          
    name="package",                                                             
    version="0.1",                                                              
    description="package Daemon",                                               
    author="me",                                                   
    author_email="my-email",                               
    url="http://my-url",                                             
    package_dir={"package": "src",                                              
                 "package-utils": "src/utils"},                                 
    packages=[                                                                  
        "package",                                                              
        "package.modules",                                                      
        "package.modules.core",                                                 
        "package.modules.config",                                               
        "package.modules.commands",                                             
        "package.modules.dblog",                                                
        "package.utils",                                                        
        "twisted.plugins",                                                      
    ],                       

    package_data={                                                              
        "package": [                                                            
            "src/virtual/cmd/bin/*",                                           
            "src/virtual/cmd/sbin/*",                                          
            "src/virtual/usr/bin/*",                                           
            "src/virtual/files/etc/*",                                         
            "src/virtual/proc/*",                                              
            "src/virtual/*.db"]},                                              

    data_files=[                                                                
        ("/usr/local/doc/package", ["doc/COPYRIGHT",                            
                                    "doc/LICENCE",                              
                                    "doc/README",                               
                                    "doc/sql/mysql.sql",                        
                                    "doc/package.cfg.sample"]),                 
        ("/etc/init.d/", ["src/package"]),                                      
        ("/etc/package", ["doc/package.cfg.sample"])                            
    ],                                                                          

    entry_points={                                                              
        'console_scripts': [                                                    
        ['package-setup = package.utils.setup:main'],                                                      
        ],                                                                      
    },                                                                          
)                                                                               

try:                                                                            
    from twisted.plugin import IPlugin, getPlugins                              
except ImportError:                                                             
    pass                                                                        
else:                                                                           
    list(getPlugins(IPlugin))

树-d

代码语言:javascript
复制
.
├── doc
│   └── sql
├── src
│   ├── virtual
│   │   ├── cmd
│   │   │   ├── bin
│   │   │   ├── sbin
│   │   │   └── usr
│   │   │       └── bin
│   │   └── files
│   │       ├── etc
│   │       └── proc
│   ├── modules
│   │   ├── commands
│   │   ├── config
│   │   ├── core
│   │   └── dblog
│   └── utils
└── twisted
    └── plugins
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-09 10:22:17

您必须使用一个MANIFEST.in文件来列出希望包含在源发行版中的数据文件。只为二进制发行版咨询package_data (一个很大的缺点)。

请参阅distutils文档中的 template

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18144472

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档