首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >data_files编译中的setup.py文件夹(setuptools)

data_files编译中的setup.py文件夹(setuptools)
EN

Stack Overflow用户
提问于 2016-04-25 13:13:22
回答 1查看 1.7K关注 0票数 4

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

代码语言:javascript
复制
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在消息中失败:

代码语言:javascript
复制
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.会导致错误,如何避免?

EN

回答 1

Stack Overflow用户

发布于 2016-04-25 13:31:28

这里的问题是,您给出了通往foo.dat的错误路径,它是作为一个目录提供的:

/home/织机/myapp/foo.dat/

只需在末尾移除尾随的/,因此它是文件的路径:

/home/织机/myapp/foo.dat

如果文件确实存在,那么现在一切都应该很好。

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

https://stackoverflow.com/questions/36841639

复制
相关文章

相似问题

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