The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Релиз Cython 0.15, варианта языка Python, поддерживающего пл..."
Отправлено Andrew Kolchoogin, 14-Авг-11 01:45 
Тут прозвучала где-то верная мысль, что хранение Питоновского байткода рядом с скриптом модуля -- это подход либо виндозника, либо "админа локалхоста".

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

Представьте себе группу программистов, работающих над проектом на Питоне. Причём не над проектом "для сдачи заказчику", а над проектом "для себя", к примеру, это учёные, которые пишут софтину для обработки относительно своих математических моделей данных, получаемых с ЯМР-спектрометра фирмы "Хренов и Огурцов".
Стоит в лаборатории числодробилка, на которой нежными руками сисадмина собран numpy, слинкованный с Атласом -- вся математика будет обрабатываться с охрененной скоростью оптимизированного кода на Фортране, а интерфейс может и потормозить, зато среднему учёному изучить скриптовый Питон куда проще, чем тот же самый Фортран или C. Также среднему учёному наплевать на всякие там SCM'ы и проч.: он логинится в Юникс и своим любимым текстовым редактором правит свой любимый исходник на Питоне.

Разумеется, что лежит это всё в ${PREFIX}/lib/python${PYTHON_VER}/site_packages, где ему и положено, ибо где ему ещё лежать -- над проектом работают несколько человек, один пишет "разгребатор" данных, приходящих с ЯМР-гроба, другой -- математику, третий -- интерфейс.

А теперь, внимание, вопрос: какие права должна иметь директория site_packages, и кому она должна принадлежать, чтобы Питон смог прекомпилировать все модули, которые пишутся этими тремя людьми? И при этом сам системный администратор вдруг случайно не обнаружил, что из-за того, что математик, задумавшись, не сказал 'rm -R' не в той директории, ни одного из стапицоттыщ Питоновских модулей, установленных в системе, больше нет?

Если в моём рассуждении заменить слово "Питон" на слова "Перл версии 5.12 или старше", то ситуация становится вполне понятной: весь код должен лежать в групповой директории, доступной этим троим на запись, а вначале главного файла нужно в '@INC' запихнуть путь к ней -- Перл поддерживает run-time @INC customisation, если его правильно собрать.

Но Питон, насколько мне известно, не поддерживает. Как быть?

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
  Введите код, изображенный на картинке: КОД
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.

На сайте действует частичное премодерирование - после публикации некоторые сообщения от анонимов могут автоматически скрываться ботом. После проверки модератором ошибочно скрытые сообщения раскрываются. Для ускорения раскрытия можно воспользоваться ссылкой "Сообщить модератору", указав в качестве причины обращения "скрыто по ошибке".



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру