Я пытаюсь добавить data_file
в проект setup.py
. Я могу использовать файл из /tmp/
директории, и не может использовать его из текущего каталога сценария:Папка для data_files в setup.py build (setuptools)
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='[email protected]',
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.
раскоментирован, тогда сборка завершена ok и включает foo.dat
(файл /tmp/foo.dat
)
Почему линия 1.
вызывает ошибку и как ее избежать?
Вы работаете в Windows или * nix? Попробуйте удалить конечный '/' в '/ home/loom/myapp/foo.dat /' в то время как в '/ tmp/foo.dat' он выглядит как файл, а не каталог – linusg
@linusg - я работаю над * nix и 'tmp' находятся в корневом каталоге и существует файл'/tmp/foo.dat'. Я буду расширять вопрос, спасибо – Loom
Ах, ладно, спасибо. Попробуйте, что я добавил в свой комментарий, пожалуйста. – linusg