Добрый день! Подсмотрев на новом альтовом форуме тему про "как узнать кто использует мои пакеты?" озадачился и решил подойти к этому вопросу со стороны донесения информации до пользователей, т.е. буду потихоньку делать анонсы своих пакетов.
====================================================================== Имя: python-module-virtualenv Оф. документация: http://pypi.python.org/pypi/virtualenv ====================================================================== Virtualenv - это средство создания независимых Python окружений. Работает просто: `virtualenv.py /path/to/dir` после чего в указанном вами каталоге будут установлены: - копия python (симлинками) - python-setuptools - скрипт easy_install - sh-скрипт активации окружения activate Из прав требует только права на запись в каталог, т.е. любой пользователь где-нибудь у себя в $HOME может без проблем создать себе такую python-песочницу. Все исполняемые файлы располагаются в /path/to/dir/bin/ , если вы активно хотите использовать какое-либо одно окружение, то вместо того, чтобы набирать полный путь можете воспользоваться скриптом activate, он не исполняемый, его надо подключать через команду "source /path/to/dir/bin/activate", это сделает выбранное вами окружение активным для текущего шелла. Отключить тоже просто: просто наберите в шелле deactivate и все вернется на место. Работосопособность песочницы не зависит от activate, т.е. все что будет вызвано (не важно как) из /path/to/dir/bin/* будет работать только с этой песочницей, в том числе и сам python, который расположиться в /path/to/bin/python. Особенно такое поведение полезно в случае скрипта easy_install. Если вы работаете с Python, то наверняка знаете что, например `easy_install Twisted` вытянет из интернета Twisted и все его зависимости. Раньше для этого необходимы были root права или шаманство с переменными окружения, чтобы он не ставил софт в системные каталоги, теперь достаточно создать песочницу при помощи virtualenv и ставить все в нее. Это избавляет вас от необходимости пинать маинтэйнеров python-module* чтобы они обновили наконец то, что вам надо, вы в этом вопросе становитесь независимыми от дистрибутива (но это не значит, что ваша песочница сможет безболезненно переехать на другой дистрибутив!). Конечно, если софт использует системные библиотеки (например пакет lxml использует libxml2 и libxslt), то вам по-прежнему надо поставить эти библиотеки в систему при помощи apt-get, также понадобятся заголовочные файлы (libxml2-devel, libxslt-devel) и компилятор, чудес не бывает и virtualenv не сделает это за вас :) Работа с virtualenv облегчает обслуживание проектов, я например, завожу по песочнице на каждый проект, что дает мне возможность более новые проекты начинать с более новыми версиями софта, а старые могут спокойно работать на старом, не требуя его обновления. easy_install ищет и скачивает софт с http://pypi.python.org, который не всегда там есть, но абсолютное большенство python софта упаковано при помощи setuptools, а значит может быть установлено через скриптт setup.py. Т.е. вам необходимо скачать с сайта интересующего вас проекта архив с последней версией, распаковать во временный каталог, перейти в него и выполнить /path/to/env/bin/python setup.py install Вкратце все. За бортом остались такие вопросы, как управление наследованием от системного python и создание песочниц внутри скрипта, а не при помощи коммандной строки. Об этом можно прочитать в оф. документации. _______________________________________________ Sysadmins mailing list [email protected] https://lists.altlinux.org/mailman/listinfo/sysadmins
