Андрей Власовских

Блог Андрея Власовских

Archive for Октябрь 2009

Пакеты Python: distutils или setuptools

6 комментариев

Недавно в обсуждении одного бага funcparserlib всплыла тема установки пакетов Python. Раньше я пользовался модулем setuptools и частично связанной с ним утилитой easy_install. Однако из-за проблем с ним я решил попробовать использовать модуль distutils, идущий в поставке Python и являющийся официальным способом установки пакетов Python.

Есть разные претензии к setuptools (см. посты в блогах Brett Cannon и James Bennett), Здесь я кратко скажу о моих собственных. Во-первых, setuptools не создаёт промежуточные каталоги при setup.py install. Во-вторых, интерпретатор Python при старте сканирует слишком много файлов и каталогов. Возможно, это связано с форматом пакетов eggs модуля setuptools, хотя может и нет. Наконец, setuptools привносит дополнительную сложность по сравнению с distutils, а пользы от него — только в более простой установке скриптов, команде setup.py develop и описании зависимостей.

Все эти вещи можно сделать и без setuptools. Скрипты можно ставить обычным копированием с помощью distutils. Команду develop можно заменить созданием символьной ссылки из каталога в PYTHONPATH на каталог разработки.  В плане зависимостей интересна утилита pip, но пока что easy_install кажется удобнее.

Written by vlan

2009-10-06 at 16:33

Опубликовано в Uncategorized

Tagged with , , , ,