gpt4 book ai didi

python - setup.py 没有安装数据文件

转载 作者:太空狗 更新时间:2023-10-29 16:55:08 28 4
gpt4 key购买 nike

我有一个 Python 库,除了常规的 Python 模块外,还有一些数据文件需要放在/usr/local/lib/python2.7/dist-package/mylibrary 中。

不幸的是,我无法说服 setup.py 在那里实际安装数据文件。请注意,此行为是在安装下 - 而不是 sdist。

这里是 setup.py 的一个略微编辑的版本

module_list = list_of_files

setup(name ='Modules',
version ='1.33.7',
description ='My Sweet Module',
author ='PN',
author_email ='email',
url ='url',
packages = ['my_module'],

# I tried this. It got installed in /usr/my_module. Not ok.

# data_files = [ ("my_module", ["my_module/data1",
# "my_module/data2"])]

# This doesn't install it at all.
package_data = {"my_module" : ["my_module/data1",
"my_module/data2"] }
)

这是在 Python 2.7 中(最终必须在 2.6 中运行),并且必须在 10.04 和 12+ 之间的某些 Ubuntu 上运行。立即在 12.04 上开发它。

最佳答案

更新:package_data 接受格式为 {'package': ['list', 'of?', 'globs*']} 的字典,所以要让它工作,应该指定相对于包目录的 shell glob,而不是相对于分发根目录的文件路径。

data_files 具有不同的含义,通常应避免使用此参数。

使用 setuptools 你只需要 include_package_data=True,但数据文件应该在版本控制系统下,setuptools 知道(默认情况下它只识别 CVS 和 SVN,安装 setuptools-gitsetuptools-hg 如果你使用 git 或 hg...)


使用设置工具,您可以:

- 在 MANIFEST.im 中:

    include my_module/data*

- 在 setup.py 中:

    setup(
...
include_package_data = True,
...
)

关于python - setup.py 没有安装数据文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11235820/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com