【发布时间】:2018-03-20 10:11:03
【问题描述】:
任务很简单:我有一个扩展名不是py的文件,需要随包一起分发。为了这个例子的目的,我们称之为.config.json。
我尝试将它作为include .config.json 放入MANIFEST.in - 这没有效果。
我试过package_data={'': ['.config.json']} - 这也没有效果。
我也尝试了data_files=[('', '.config.json')] - 这与不相关的错误中断:error: can't copy '.': doesn't exist or not a regular file
除了自己编写构建命令之外,我找不到任何我可以做的事情来完成这项工作。而且,是的,我在 SO、GitHub 上的 bug 跟踪器等上看到了很多类似的问题。我知道 setuptools 和 distutils 基本上都被彻底破坏了,但也许有一些明智的方法可以使这项工作?我不敢相信这么简单的事情还没有解决......
根据要求,setup.py:
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
from setuptools import setup, find_packages
setup(
name='project_name',
version='0.1.0',
description='Project Name in Caps',
author='My Company',
author_email=','.join(
'{}@domain.com'.format(name) for name in
list_of_names
),
url='https://somewhere',
packages=find_packages(),
# package_data={
# '': ['.config.json'],
# },
# data_files=[('', '.config.json')],
install_requires=[
'pytest >= 3.4.2',
...
],
)
【问题讨论】:
-
“顶级目录”是什么意思?要将文件安装到
site-packages/还是site-packages/mypackage/? -
@phd
site-packages/package-version.egg -
你能发布你的
setup.py吗? -
@WillKeeling 使用 setup.py 更新。
标签: python python-3.x setuptools