[英]Folder for data_files in setup.py build (setuptools)
我试图将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
如果文件确实存在,那么现在一切都应该没问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.