Найти - Пользователи
Полная версия: distutils инсталляция приложения
Начало » Python для новичков » distutils инсталляция приложения
1
Evgeny
Добрый день!
Возможно, я что-то пропустил в документации, но возник вопрос:
можно ли использовать distutils для инсталляции приложения?
Или это инструмент только для установки библиотек?
То есть требуется, чтобы модули были видны только друг другу, а система видела бы только
main скрипт.
Андрей Светлов
странное желание
Evgeny
То есть? Я так понимаю, можно оформить пакет, содержащий все модули программы,
тогда все исходники, кроме main скрипта будут лежать в отдельной папке в /usr/local/lib/……
и накладок не будет. Но хотелось бы как-то поэлегантнее
crchemist
http://www.buildout.org/ ?
Андрей Светлов
Тогда уж virtualenv
Evgeny
Решил пока остановиться на варианте с использованием setuptools
с примерно таким setup.py:
from setuptools import setup 
setup(name='MyApp',
py_modules = [List of program modules],
scripts = [MainScript],
)
Но возник такой вопрос: программа при первом запуске должна создавать конфиг, который
читается при последующих запусках. Можно писать его в домашнюю директорию, но хочется, чтобы
все работало и под виндой без изменения исходников. Или выбирать путь в зависимости от системы
при старте? Как лучше поступить?
Андрей Светлов
setuptools ничего не изолирует — это к слову.
Путь к конфигам — да, выбирать самому в зависимости от операционной системы.
Lexander
+1 за virtualenv
Evgeny
Спасибо за ответы.
По поводу virtualenv: я так понял, что он нужен там, где используются различные версии библиотек.
Мне же нужен просто стандартный инструмент для установки приложений в систему.
Про видимость модулей я, может, коряво написал. Имелось ввиду то, что разные программы могут
содержать модули с одинаковыми именами. И каждая должна импортировать свой.. ну я ж в раздел для
новичков пишу. Кажется, что для этого virtualenv - как по воробьям из пушки.

В общем, остались вопросы:
- distutils использовать только для инсталляции своих библиотек, или можно ставить готовые программы?
- годен ли и хорош приведенный выше вариант с setuptools?
- или использовать что-то другое, например, упомянутый buildout?
Андрей Светлов
Искомый стандартный инструмент называется именно virtualenv. Делать при этом через distutils или setuptools — уже вторично.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB