2016-04-25 1 views
3

Я пытаюсь добавить 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. вызывает ошибку и как ее избежать?

+0

Вы работаете в Windows или * nix? Попробуйте удалить конечный '/' в '/ home/loom/myapp/foo.dat /' в то время как в '/ tmp/foo.dat' он выглядит как файл, а не каталог – linusg

+0

@linusg - я работаю над * nix и 'tmp' находятся в корневом каталоге и существует файл'/tmp/foo.dat'. Я буду расширять вопрос, спасибо – Loom

+0

Ах, ладно, спасибо. Попробуйте, что я добавил в свой комментарий, пожалуйста. – linusg

ответ

0

Проблема здесь в том, что вы дали неправильный путь к foo.dat, он дал в качестве каталога:

/home/loom/myapp/foo.dat/

Просто удалить заднюю / в конце, так что это путь к файлу:

/home/loom/myapp/foo.dat

Если файл действительно существует, все должно быть хорошо.

+0

Извините. Это была опечатка в моем вопросе, который я исправил. К сожалению, проблема с папкой все еще здесь. – Loom

+0

Упс, посмотрим еще раз! – linusg

 Смежные вопросы

  • Нет связанных вопросов^_^