gpt4 book ai didi

python - setup.py build (setuptools) 中 data_files 的文件夹

转载 作者:太空宇宙 更新时间:2023-11-03 11:47:05 25 4
gpt4 key购买 nike

我正在尝试将 data_file 添加到 setup.py 项目中。我可以使用 /tmp/ 目录中的文件,但不能使用脚本的当前目录中的文件:

from setuptools import setup, find_packages
import os

packages = find_packages("src")
foo_path = os.path.dirname(os.path.abspath(__file__)) + '/foo.dat'
print foo_path # file exists and there full absolute path is printed:
# '/home/loom/myapp/foo.dat'

setup(name='myapp',
version='0.2.0',
url='http://loom.st',
author='Loom',
author_email='admin@loom.st',
package_dir={'': 'src'},
packages=packages,
py_modules=['my_start'],
# 1. data_files=[('lib/python', [foo_path])],
# 2. data_files=[('lib/python', [/tmp/foo.dat])],
setup_cfg=True,
)

1. 行取消注释时,python setup.py bdist_rpm 失败并显示消息:

running install_data
error: can't copy '/home/loom/myapp/build/bdist.linux-x86_64/rpm/BUILD/myapp-0.2.0/foo.dat': doesn't exist or not a regular file
error: Bad exit status from /var/tmp/rpm-tmp.02mmV8 (%install)

当行 2. 取消注释时,构建完成并包含 foo.dat(文件 /tmp/foo.dat存在)

为什么行 1. 会导致错误以及如何避免错误?

最佳答案

这里的问题是,您给 foo.dat 的路径是错误的,它是作为目录给出的:

/home/loom/myapp/foo.dat/

只需删除末尾的 /,这样它就是一个文件路径:

/home/loom/myapp/foo.dat

如果文件确实存在,那么现在一切都应该没问题。

关于python - setup.py build (setuptools) 中 data_files 的文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36841639/

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