2015-03-09 4 views
0

Итак, я создал сценарий setup.py для моей программы python с distutils, и я думаю, что это ведет себя немного странно. Сначала он устанавливает все data_files в /usr/local/my_directory по умолчанию, что немного странно, поскольку это не очень распространенное место для хранения данных, не так ли?
Я изменил путь до /usr/share/my_directory/. Но теперь я не могу писать в базу данных внутри этого каталога, и я не могу установить требуемое разрешение в пределах setup.py ни с тех пор, как фактический файл базы данных не был создан при его запуске.distutils setup script под linux - проблема с разрешением

Является ли мой подход неправильным? Должен ли я использовать другой инструмент для распространения?
Потому что, по крайней мере, для Linux, написание простой установки sh сценарий мне сейчас кажется более легким.

ответ

1

. Непосредственное решение - вызвать setup.py с помощью --prefix =/the/path/you/want.

Лучшим подходом было бы включение данных в виде package_data. Таким образом, они будут установлены рядом с вашим пакетом python, и вам будет намного проще управлять им (найти пути и т. Д.).

+0

Оба варианта не работают. Я до сих пор не могу получить доступ к базе данных./usr/share/принадлежит по умолчанию root, поэтому я не боюсь этого не так. –

+0

Я имел в виду нечто вроде python setup.py --prefix ~/myapp. Что касается второго, база данных будет установлена ​​относительно вашего пакета. –

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

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