Версия 6 от 2010-04-28 11:27:00

Убрать это сообщение

2. Установка

Что требуется сделать: Начало работы на Windows Vista.

Pylons написан на языке Python и спроектирован для работы на любой платформе, которая поддерживает новую версию Python. Поэтому он может использоваться на платформах Windows, Mac OS X, Linux, BSD и многих других. Поскольку Python является интерпретируемым языком, приложения Pylons, которые Вы пишете для одной платформы, могут запускаться на других платформах без каких-либо изменений.

В настоящее время существует довольно много различных способов установки Pylons в зависимости от Ваших потребностей, но три самых главных средства, которые используют большинство разработчиков Pylons, это:

В этой главе мы рассмотрим, что такое виртуальная среда Python, перед тем как обратим наше внимание на каталог программных пакетов Python и программу easy_install. После того как мы запустим установку Pylons и выполним ее, мы рассмотрим, как устанавливать пакеты с расширениями C или C++, такие как драйверы баз данных для MySQL, PostgreSQL и SQLite. Как только у Вас появится полное понимание процессов установки, используемых Pylons, мы обратим наше внимание на сам Python и рассмотрим все тонкости, которые Вам нужно будет знать на конкретной платформе.

Примечание: Если у Вас еще нет установленной копии Python, возможно, Вы захотите сразу перейти к заметкам по отдельным платформам, которые находятся дальше в этой главе, для того чтобы узнать, как установить последнюю версию Python, например, 2.5 или 2.6, на Вашу платформу, но поскольку почти все платформы, кроме Windows, уже поставляются с последней версией, большинство из вас сможет сразу же создать виртуальную среду Python.

Быстрый запуск

Pylons действительно легко установить. Если Вы не так заинтересованы в подробностях, а просто хотите изучить и выполнить установку Pylons на Linux как можно быстрее, нижеследующие этапы покажут Вам, как это сделать. Шаги, характерные для Windows и Mac OS, описаны в следующих разделах.

(Debian, и другие дистрибутивы имеют пакет python-virtualenv, подготавливающий /usr/bin/virtualenv, который Вы можете использовать в качестве замены, если для Вас это легче.)

python virtualenv.py --no-site-packages /home/james/pylonsenv

cd /home/james
pylonsenv/bin/easy_install "Pylons==0.9.7"

Пользователям Windows нужно использовать Scripts вместо bin в упомянутой выше команде, но все подробности будут разъяснены позже в указаниях конкретно по Windows.

После завершения установки Вам следует всегда использовать программы в env/bin вместо скриптов в системной установке Python. Например, там, где примеры в книге определяют что-то вроде этого:

paster serve --reload development.ini

на самом деле Вам нужно напечатать следующее, чтобы выполнить команду из виртуальной Python среды:

env/bin/paster serve --reload development.ini

Если Вы не совсем понимаете смысла установки, описанной выше, пожалуйста, прочитайте оставшуюся часть главы с полной подробной информацией.

Шаг за шагом

Каталог программных пакетов Python

Все Python пакеты могут быть загружены в специальной части веб-сайта Python, известного как каталог программных пакетов Python (PyPI). Наряду с предоставлением самих пакетов, каталог программных пакетов Python также содержит информацию о каждом пакете, такую как автор, домашняя страница проектов и описание проекта. Python пакеты могут содержать исходный Python код, конфигурационные файлы, файлы данных, C или C++ расширения и мета-данные о пакете.

Каталог программных пакетов Python можно найти по адресу http://pypi.python.org, но большую часть времени Вам не нужно заботиться о PyPi, потому что скрипт easy_install берет на себя все, включая поиск пакета в каталоге программных пакетов Python, получение последней совместимой версии и установку пакета и его зависимостей.

В части 3 книги Вы узнаете, как объединить свои Pylons приложения в пакет и автоматически загрузить их в PyPI, но в данный момент Вам нужно только знать, что PyPI – это основное место, где можно найти программное обеспечение Python.

Виртуальные Python среды

Виртуальная среда – это изолированная Python среда, настроенная таким образом, что библиотеки не влияют на программы вне ее, что делает ее хорошей альтернативой для экспериментирования с новыми пакетами или для развертывания различных программ с конфликтными требованиями библиотек. Вы также можете создать виртуальную Python среду и установить в нее программное обеспечение, не требующее привилегий root или администратора, что делает это очень полезным способом для установки Pylons в коллективную среду. Настоятельно рекомендуется устанавливать Pylons таким образом, если Вы используете его в первый раз.

Есть ряд инструментов, доступных в Python сообществе для создания виртуальной Python среды, но два наиболее популярных – это virtualenv.py и Buildout. Buildout популярен в Zope сообществе, потому что обладает множеством возможностей, которые помогают Вам управлять всеми сторонами развертывания, но он может быть довольно сложным. virtualenv.py является более легким решением, разработанным просто для поддержки создания виртуальной Python среды, что делает его идеальным для большинства случаев использования, включая Pylons.

Для создания виртуальной среды Вам потребуется скрипт самонастройки virtualenv.py. Актуальная версия этого скрипта на время написания книги доступна по адресу http://pylonsbook.com/virtualenv.py, и многие Linux дистрибутивы предоставляют python-virtualenv пакет, но вместо этого Вы, наверное, захотите использовать новейшую доступную версию. Чтобы получить последнюю версию, зайдите в каталог программных пакетов Python Package и поищите virtualenv. Загрузите .tar.gz версию программного обеспечения и извлеките virtualenv.py файл из дистрибутива.

Вы можете сделать это так, как тут, используя команды, подобные этим, но не забудьте обновить их до версии, которую хотите загрузить:

wget http://pypi.python.org/packages/source/v/virtualenv/virtualenv-1.1.tar.gz
tar zxfv virtualenv-1.1.tar.gz
cp  virtualenv-1.1/virtualenv.py ./

Можете теперь удалить старые файлы, если хотите:

rm -r virtualenv-1.1
rm virtualenv-1.1.tar.gz

Пользователям Windows потребуется загрузить файл вручную, так как wget не установлен в системе. И использовать такой инструмент, как 7- zip с http://www.7-zip.org для извлечения файлов.

Пользователям Mac и некоторым пользователям Linux понадобится использовать curl -O вместо wget для загрузки файла.

Примечание: Если Вы используете систему, которая уже имеет установленную программу easy_install, то вместо этого можете установить virtualenv автоматически вот так:

easy_install virtualenv

Скрипт virtualenv.py затем будет доступен в bin Python установки или директории Scripts.

Какой бы способ Вы ни выбрали для получения скрипта virtualenv.py, теперь Вы можете использовать его для создания изолированной виртуальной Python среды для хранения Pylons библиотек отдельно от других библиотек в Вашей системе.

Теперь Вы готовы к созданию виртуальной среды Python. Вот как это выглядит в Windows:

C:\>C:\Python25\python.exe "C:\Documents and Settings\Administrator\Desktop\virtualenv-1.1\virtualenv.py" C:\env
New python executable in C:\env\Scripts\python.exe
Installing setuptools...............................done.

Пользователям Windows не следует создавать виртуальную среду python, используя в названии пути пробел. Иначе Вы можете увидеть ошибку, подобную этой:

ValueError: The executable 'C:\\Documents and Settings\\Administrator\\Desktop\\env\\Scripts\\python.exe'
contains a space, and in order to handle this issue you must have the win32api module installed

Следуя подсказке об ошибке, установка win32api модуля с http://sourceforge.net/project/showfiles.php?group_id=78018 решает проблему.

На Linux платформах Вам следует убедиться в наличии установленного пакета python-dev для Вашей версии Python, иначе скрипт virtualenv.py может пожаловаться на включаемые файлы.

Стоит также отметить для продвинутых пользователей, что виртуальная среда Python не обязательно совместима с настраиваемым distutils.cfg файлом.

Не каждый выбирает использование виртуальной Python среды. Если Вы опытный пользователь, то вполне возможно запускать несколько приложений Pylons из системной установки Python. Однако использование виртуальной Python среды помогает Вам избежать проблем зависимостей. Если Вы решите не пользоваться виртуальной средой Python, Вам потребуется устанавливать программу easy_install самостоятельно. Скачайте файл ez_setup.py с http://peak.telecommunity.com/dist/ez_setup.py и затем выполните команду:

$ python ez_setup.py

Работа с easy_install

Теперь, когда Ваша Python среда настроена, мы можем обратить внимание на easy_install, Python программу, которая автоматически выбирает пакеты из PyPI, а также любые имеющиеся у них зависимости. Затем она устанавливает их в ту же Python среду, в которую установлена сама программа easy_install.

Программа easy_install на самом деле является частью модуля под названием setuptools и устанавливается автоматически с помощью скрипта virtualenv.py, который Вы только что выполнили выше.

Полную документацию на EasyInstall можно найти по адресу http://peak.telecommunity.com/DevCenter/EasyInstall, и хотя это мощный инструмент с многочисленными опциями для продвинутых пользователей, его основное использование является очень простым. Чтобы показать Вам особенности основных способов его использования, мы пробежимся по нескольким примерам.

Чтобы установить последнюю версию пакета PasteDeploy, используемую Pylons и его зависимостями, Вам нужно просто выполнить команду:

$ easy_install PasteDeploy

Когда Вы запустите эту команду, EasyInstall зайдет в каталог программных пакетов Python и на страницу загрузки Pylons, чтобы найти наиболее подходящую версию каждого из требуемых пакетов, и установит каждый из них по очереди. Пакет PasteDeploy не имеет никаких зависимостей, но если бы имел, EasyInstall осуществил бы поиск наиболее подходящих версий пакетов зависимостей по каталогу программных пакетов Python и автоматически загрузил бы их тоже.

Если Вы используете виртуальную Python среду, Вам нужно добавить путь к bin директории виртуальной среды перед командой easy_install. Если Вы установили виртуальную среду Python в директорию env, как описано выше, то команда будет такой:

$ env/bin/easy_install PasteDeploy

В Windows такие команды, как easy_install, часто являются реальными Windows приложениями, так что Вы можете добавить к ним расширение .exe, если предпочитаете. Виртуальная Python среда в Windows устанавливает программы в директорию Scripts вместо директории bin, так что в Windows команда будет такой:

$ env/Scripts/easy_install.exe PasteDeploy

Внимание: Остальные главы в книге предполагают, что Вы всегда будете добавлять правильный путь к скриптам виртуальной Python среды и расширение .exe, если это требуется на Вашей платформе.

Фактически все пакеты в каталоге программных пакетов Python могут быть установлены так же, как мы устанавливали ранее пакет PasteDeploy, просто путем указания имя пакета в качестве аргумента для команды easy_install.

Установка Pylons

Теперь, когда у Вас есть виртуальная Python среда, и Вы знаете, как использовать easy_install на своей платформе, настало время установить сам Pylons.

Pylons состоит из множества различных пакетов, все из которых требуют установки для работы Pylons. Сам Pylons распространяется по лицензиям с открытым исходным кодом, перечисленным в предисловии книги. Все его зависимости также имеют открытый исходный код, но если Вы интересуетесь подробностями лицензий, Вам следует проверить каждый пакет.

Вместо того чтобы предоставить Вам установку каждого пакета по отдельности, Pylons использует систему EasyInstall, о которой Вы только что узнали, для автоматической загрузки и установки всех зависимостей.

В командной строке запустите эту команду для установки последней версии Pylons и его зависимостей:

$ easy_install Pylons

В конце процесса Вы должны иметь последнюю версию Pylons и всех его зависимостей в установленном виде и готовыми к использованию.

Совет Если Вы пользователь Windows, и применяете Python 2.3, Вам также понадобится установить пакет под названием subprocess, который Вы можете скачать с http://www.pylonshq.com/download/subprocess-0.1-20041012.win32-py2.3.exe. Пользователи Python 2.4 и выше уже имеют этот пакет.

Между прочим, Pylons может не поддерживать Python 2.3 еще долгое время из-за его отсутствия декораторной поддержки, поэтому будет целесообразно сделать обновление до более поздней версии наподобие Python 2.5.

Если Вы хотите убедиться в том, что у Вас последняя версия Pylons, можете воспользоваться этой командой:

$ easy_install -U Pylons

Это установит последнюю версию, если она еще не присутствует, или обновит Pylons до последней версии, если старая версия уже установлена.

Если Вы используете виртуальную Python среду, то увидите, что модуль pylons установлен в виртуальную среду:

C:\>C:\env\Scripts\python.exe
Python 2.5.1 (r251:54863, Apr 18 2007, 08:51:08) [MSC v.1310 32 bit (Intel)] on
win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import pylons
>>>

НО: Если Вы попытаетесь сделать то же самое с системным исполняемым файлом Python, то получите ошибку, потому что виртуальная установка Python отделила пакеты от главной системы Python так, как мы и ожидали:

C:\>C:\Python25\python.exe
Python 2.5.1 (r251:54863, Apr 18 2007, 08:51:08) [MSC v.1310 32 bit (Intel)] on
win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import pylons
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named pylons
>>>

Теперь, когда Вы успешно установили Pylons и все его зависимости, можете переходить к главе 3 ”Начало работы”, но если Вы действительно хотите глубокого понимания, то читайте дальше!

Понимание Eggs

Большинство нового Python программного обеспечения, включая Pylons и все его зависимости, распространяется в виде eggs. Eggs – это новый пакетный формат, который обладает многими дополнительными возможностями по сравнению со старыми distutils пакетами, включая добавление информации о зависимостях, требующейся для программы easy_install, с которой мы приучаемся работать.

Совет Если Вы до этого не сталкивались с egg форматом, можете представить их аналогичными .jar файлам в Java или .gem файлам в Ruby.

Разработчики иногда слегка опасаются использовать EasyInstall, потому что ощущают, что в нем есть что-то магическое. На самом деле Python eggs – это просто zip-файлы модулей Python с несколькими добавленными файлами мета-данных, и если Вы переименуете их в .zip, то можете изучить их содержимое. Модульные zip-файлы поддерживаются в Python, начиная с версии 2.3, так что в использовании zip-файла вместо структуры каталогов нет ничего нового. Некоторые из более продвинутых возможностей eggs, например точки входа, рассматриваются в части 3 книги.

Одна действительно полезная возможность при использовании easy_install - это --always-unzip. Она заставляет EasyInstall извлекать все файлы из egg-пакетов, так что Вы можете просматривать их исходные файлы в файловой системе, чтобы понять, как действительно работают содержащиеся в них пакеты. Крайне удобно, если Вы любознательный разработчик! Вы можете установить это по умолчанию в виртуальной Python среде путем изменения env/lib/python2.5/distutils/distutils.cfg на:

[easy_install]
zip_ok = 0

Далее в книге мы рассмотрим, как можно создавать свои собственные egg-файлы из Pylons приложения.

Темы для продвинутых пользователей

Активация и деактивация виртуальной Python среды

Если Вы регулярно работаете с файлами в virtualenv виртуальной среды Python, то необходимость набирать path/to/env/bin/ часть перед каждым скриптом, который Вы хотите выполнить, может стать утомительной. Вы можете решить эту проблему путем активации среды, в которой на данный момент работаете. Это помещает исполняемые файлы виртуальной среды Python вначале в переменную окружения PATH, так что Вы можете запускать их без ввода полного пути к виртуальной среде Python.

Вот как сделать это в Windows:

C:\Test>..\env\Scripts\activate.bat
(env) C:\Test>python
Python 2.5 (r25:51908, Sep 19 2006, 09:52:17) [MSC v.1310 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import pylons
>>>

После того, как Вы активируете виртуальную среду Python с помощью activate.bat, скрипты в виртуальной среде получат превосходство перед обычными системными скриптами. В примере выше Вы можете видеть, что запущенный на выполнение python на самом деле запускает версию в виртуальной среде Python, куда установлен Pylons, а не главный системный Python. То же верно и для других доступных скриптов. Заметьте, как меняется командная строка, показывая, что Вы находитесь в виртуальной среде Python.

Вы можете деактивировать ее, напечатав deactivate.bat, и все вернется в обычное состояние:

(env) C:\Test>..\env\Scripts\deactivate.bat
C:\Test>

В Linux и Mac OS X Вы активируете среду, используя подобный этому Bash script:

$ source ~/env/bin/activate

Этот скрипт работает в Bash и zsh и, возможно, многих других Bourne-совместимых командных процессорах. Он не будет работать на csh или tcsh. Если он не работает в Вашем не являющемся Bash командном процессоре, Вам придется внести в него изменения для соответствия синтаксису Вашего командного процессора. Не забывайте о слове "source"! Это слово заставляет скрипт выполняться в текущем командном процессоре вместо запуска нового процесса, так что скрипт может изменять текущий PATH командного процессора и другие переменные. Старейшие командные процессоры Bourne использовали "." вместо "source".

Заметьте, что после активации командного процессора строка меняется на "(env)$" для того, чтобы напомнить, в какой среде Вы находитесь. Это удобно, если Вы прекращаете работу в нескольких виртуальных средах в различных окнах.

Если Вы хотите деактивировать командный процессор, то введите эту команду в Linux и Mac OS X:

deactivate

Тогда пути вернутся в обычное состояние, и строка исчезнет.

Внимание Существует одна потенциальная проблема, которую нужно иметь в виду, касающаяся активации/деактивации. Командный процессор хранит путь каждой команды в памяти, так что ему не нужно искать этот путь снова, когда команда перезапущена. Это пренебрегает изменениями, внесенными активацией в среду, так что процессы активации/деактивации пытаются очистить этот кэш, но иногда они терпят неудачу. Результатом является то, что вы вводите имя команды, а получаете "неверную" команду. Чтобы убедиться на 100%, что Вы получаете правильную команду, запустите "which python" (или "which easy_install" и т.д.), и командный процессор напечатает полный путь команды, которую выполнит. Если это неверная команда, выполните команду однажды, введя полный путь, и это обновит кэш памяти, так что можно будет использовать ту версию команды.

Если Вы сомневаетесь, возможно, стоит использовать исполняемые файлы напрямую без магической активации и деактивации.

Опции virtualenv

Скрипт virtualenv.py имеет две интересные опции командной строки, которые Вы можете использовать, создавая виртуальную среду Python:

--no-site-packages

--clear

В директивах выше мы использовали опцию --no-site-packages, но Вы можете опустить эту опцию, если предпочитаете, чтобы виртуальная Python среда также имела доступ ко всем пакетам, уже установленным в системную среду Python.

Выбор версий пакета с помощью EasyInstall

EasyInstall позволяет Вам очень точно указывать версию отдельной части программного обеспечения, которую Вы хотите установить. Давайте снова применим пакет PasteDeploy в качестве примера.

Для того чтобы установить последнюю версию пакета PasteDeploy, используемого Pylons и его зависимостями, Вам потребуется просто запустить эту команду, как мы уже рассматривали:

$ easy_install PasteDeploy

Для установки PasteDeploy версии 1.7 Вам нужно будет использовать:

$ easy_install "PasteDeploy==1.7"

У Вас могут также быть более сложные требования к версии. Например, для установки версии PasteDeploy в промежутке между 1.5 и 1.7, включая граничные значения, Вы можете сделать следующее:

$ easy_install "PasteDeploy>=1.5,<=1.7"

EasyInstall также может быть использован для обновления пакетов. Вы используете команду easy_install аналогичным образом, но указываете флаг –U, чтобы заставить EasyInstall обновить пакет.

Отметьте, как Вы по-прежнему можете указывать требования к версии даже во время обновления:

$ easy_install -U "PasteDeploy>=1.5,<=1.7"

Конечно, Вы можете также использовать EasyInstall, чтобы напрямую устанавливать eggs, которые находятся в Вашей локальной системе. Например, для установки egg Python 2.4 для PasteDeploy Вы можете выдать эту команду:

$ easy_install PasteDeploy-1.7-py2.4.egg

Наконец, EasyInstall может также использоваться для установки исходных дистрибутивов, которые были созданы с помощью старого модуля distutils, который является частью дистрибутива Python и который EasyInstall предназначен заменить:

$ easy_install http://pypi.python.org/packages/source/P/PasteDeploy/PasteDeploy-1.5.tar.gz

В этом случае EasyInstall сначала создает.egg файл из исходного дистрибутива, а затем устанавливает его. Заметьте, что EasyInstall также успешно берет локальные файлы или URL в качестве аргументов.

Совет Сам EasyInstall работает за счет сохраняемого файла в установочной директории Python lib/site-packages, называемого easy_install.pth. Python заглядывает в .pth файлы при запуске и добавляет любые модульные zip-файлы или указанные пути во внутренний sys.path. EasyInstall просто сохраняет файл easy_install.pth так, что Python сможет найти устанавливаемые им пакеты.

Если Вы когда-нибудь захотите удалить пакет, простейшим способом будет удалить его запись из файла easy_install.pth. Однако вам никогда не потребуется удалять пакет, так как EasyInstall всегда будет использовать последний, установленный Вами, по умолчанию.

Установка прокси-сервера

Если Вы пытаетесь установить Pylons, используя easy_install, и получаете такое сообщение, как ошибка: Ошибка загрузки: (10060, 'Блокировка операции по превышению лимита времени'), это может быть по причине того, что Ваш компьютер закрыт HTTP-прокси, и поэтому easy_install не может загрузить файлы, которые ему требуются.

Для того чтобы easy_install мог загрузить файлы, Вам нужно сообщить ему, где находится прокси. Вы можете осуществить это путем установки значения переменной окружения HTTP_PROXY. В Linux Вам потребуется напечатать:

export HTTP_PROXY="http://yourproxy.com:port"

или если Вам нужна прокси-аутентификация:

export HTTP_PROXY="http://user:password@yourproxy.com:port"

В Windows Вам требуется установить:

set HTTP_PROXY=http://your.proxy.com:yourPort

После этого Вы сможете снова запустить easy_install Pylons, и на этот раз программа сможет найти файлы. Смотрите следующий раздел для установки Pylons в офлайн режиме, если Вы по-прежнему испытываете трудности.

Устранение проблем EasyInstall

В редких случаях каталог программных пакетов Python падает, но в этих условиях все еще остается возможной установка Pylons и его зависимостей путем указания локальной директории пакетов для альтернативной установки Pylons. Вы можете сделать это так:

$ easy_install -f http://pylonshq.com/download/ Pylons

Эта команда заставляет EasyInstall сначала проверить веб-сайт Pylons перед переходом к PyPI. Если он находит ссылки на все, что ему нужно, на указанной странице, ему не потребуется переходить к PyPI совсем.

Примечание Если Вы используете более старую версию Pylons, то можете получить пакеты, которые вышли вместе с ней во время выпуска, путем указания желаемой версии и зависящего от версии сайта загрузки Pylons:

$ easy_install -f http://pylonshq.com/download/0.9.2/ "Pylons==0.9.2"

Тот же метод может также применяться для установки любых из зависимостей Pylons.

Если Вы совсем не можете подключиться к интернету, то потребуется устанавливать Pylons в офлайн режиме. Загрузите все зависимости Pylons и поместите их в директорию под названием downloads, затем используйте EasyInstall для установки программного обеспечения из директории, применяя данную команду:

$ easy_install -f downloads/ Pylons

Иногда EasyInstall не может найти пакет, который ищет в каталоге программных пакетов Python. Если эта ситуация возникнет, следует сначала убедиться в том, что у Вас последняя версия setuptools путем выдачи этой команды (флаг -U означает обновить, как мы видели ранее):

$ easy_install -U setuptools

Вам придется делать это в Ubuntu 7.04, например, если Вы получили EasyInstall посредством файла python-setuptools*.deb, а не как часть программы установки виртуальной Python среды, потому что версия в .deb файле слишком старая для Pylons и его зависимостей.

После обновления, попробуйте установить Pylons снова, и если одна из зависимостей по-прежнему будет падать, Вам потребуется сначала вручную установить эту зависимость перед очередной попыткой установки Pylons.

Другое сообщение об ошибке, с которым Вы можете иногда сталкиваться во время использования EasyInstall, это pkg_resources.ExtractionError, в котором говорится:

Can’t extract file(s) to egg cache The following error occurred while trying to extract file(s) to the Python egg cache: [Errno 13] Permission denied: ‘/var/www/.python-eggs’ The Python egg cache directory is currently set to: /var/www/.python-eggs Perhaps your account does not have write access to this directory? You can change the cache directory by setting the PYTHON_EGG_CACHE environment variable to point to an accessible directory.

Так как сообщение об ошибке говорит о том, что egg, содержащий модуль, который импортируется pkg_resources (другим модулем, установленным с setuptools и easy_install) требует, чтобы его содержимое было извлечено до того, как модуль может быть использован, но выполняющийся скрипт не имеет прав на извлечение egg в местоположение по умолчанию. Вы можете сменить место, куда извлекаются eggs путем установки переменной окружения PYTHON_EGG_CACHE куда-либо, где приложение имеет права записи. Один из способов сделать это заключается в следующем:

   1 import os
   2 os.environ['PYTHON_EGG_CACHE'] = '/tmp'

Вам потребуется добавить эту строку перед импортом модуля, который падает, и Вы, как правило, воспользуетесь более подходящим размещением, чем /tmp.

Если у Вас все еще возникают проблемы, то потребуется провести поиск онлайн или связаться с почтовой рассылкой Pylons по адресу pylons-discuss@googlegroups.com. Две хорошие страницы для начала – это документация EasyInstall по адресу http://peak.telecommunity.com/DevCenter/EasyInstall и руководство по устранению проблем при установке TurboGears по адресу http://docs.turbogears.org /1.0/InstallTroubleshooting.TurboGears 1.0 использует такую же систему установки, как и Pylons, поэтому встречающиеся проблемы зачастую похожи.

Работая с Bleeding Edge

Если Вы хотите использовать версию Pylons, находящуюся в разработке – или даже вносить свой вклад в разработку Pylons – Вы можете установить последнюю bleeding-edge прямо из хранилища Pylons Mercurial.

Mercurial – это популярная система контроля ревизий с открытым кодом, написанная на Python, выбор в пользу которой, вместо выбора в пользу Subversion, делают многие проекты, включая Pylons, из-за его распределенного характера и более мощного набора функций. Mercurial подробно документируется в книге Mercurial по адресу http://hgbook.red-bean.com/hgbook.html, но если Вы просто хотите быстро начать работу с ним, то найдете полезным это руководство на Pylons вики: http://wiki.pylonshq.com/display/pylonscookbook/Mercurial+for+Subversion+Users

После того как Mercurial будет установлен, Вам потребуется создать идентичные версии Pylons и всех его зависимостей, находящихся в разработке. Отслеживание всех хранилищ и копирование исходных файлов может быть весьма длительным процессом, поэтому разработчики Pylons создали скрипт go-pylons.py для настройки виртуальной среды Python и автоматизации процесса.

Скачайте программу для Pylons 0.9.7 с http://www.pylonshq.com/download/0.9.7/go-pylons.py и затем выполните команду:

python go-pylons.py --no-site-packages devenv

Скрипт мгновенно выполняет работу и настраивает виртуальную Python среду разработки. Разработчикам под Mac OS X потребуются инструменты разработки Apple, распространяемые с XCode или iPhone SDK. Вы можете также скачать их бесплатно с http://developer.apple.com/technology/xcode.html, но Вам нужно будет зарегистрироваться.

Внимание!::