Situation
我创建了我的setup.py文件。其中大部分都是开箱即用的,但我在发送一些附加文件时遇到了一些麻烦。但我注意到在运行时,tar.gz中没有包含以下文件
python setup.py sdist文档文件的位置可以是os特定的。但我希望看到/etc/init.d/中的服务脚本和/etc/包中的示例配置(存储在我的doc文件中)。虚拟文件可以存储在我的包文件夹中。
问题
如何在我的tar.gz中传送这些文件?
源
setup.py
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
.
├── doc
│ └── sql
├── src
│ ├── virtual
│ │ ├── cmd
│ │ │ ├── bin
│ │ │ ├── sbin
│ │ │ └── usr
│ │ │ └── bin
│ │ └── files
│ │ ├── etc
│ │ └── proc
│ ├── modules
│ │ ├── commands
│ │ ├── config
│ │ ├── core
│ │ └── dblog
│ └── utils
└── twisted
└── plugins发布于 2013-08-09 10:22:17
您必须使用一个MANIFEST.in文件来列出希望包含在源发行版中的数据文件。只为二进制发行版咨询package_data (一个很大的缺点)。
请参阅distutils文档中的 template。
https://stackoverflow.com/questions/18144472
复制相似问题