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