Инструмент (или комбинация инструментов) для восстанавливаемых сред в Python

Кто будет отвечать за удаление объектов, созданных с помощью new?

Кто бы ни создал объект, используя new.

Вы создали объект, используя new, поэтому вы несете ответственность за его удаление.

Я знаю, что если вы используете функцию set_allocated, то protobuf позаботится об удалении, если вы не вызовете release

Correct. Если вы передаете право владения указателем куда-либо еще, ответственность за удаление ложится на владельца. Если вы не передадите право собственности (как в примере программы), то ответственность остается за вами. Если вы не удалите его, то утечка памяти.

9
задан Sam 26 March 2009 в 14:21
поделиться

7 ответов

  1. virtualenv для создания содержавшей виртуальной среды (предотвращают различные версии пакетов Python или Python от топания друг на друге). Там увеличивает шум от людей, перемещающихся в этот инструмент. Автор совпадает с более старой работой-env.py, упомянутой Aaron.

  2. победите для установки пакетов в virtualenv. Традиционным является easy_install, как отвечено S. Lott, но зернышко работает лучше с virtualenv. easy_install все еще имеет функции, не найденные в зернышке все же.

  3. сканирования как инструмент сборки, хотя Вам не будет нужно это, если Вы останетесь просто Python.

  4. Вставка матрицы или дорожный бетоноукладчик для развертывания.

  5. buildbot для непрерывной интеграции.

  6. Базар, подвижный, или мерзавец для управления версиями.

  7. Нос как расширение для поблочного тестирования.

  8. PyFit для ПРИГОДНОГО тестирования.

18
ответ дан 4 December 2019 в 08:02
поделиться

Я также работаю и с Java и с Python. Для разработки Python эквивалентный знаток является setuptools (http://peak.telecommunity.com/DevCenter/setuptools). Для разработки веб-приложения я использую это в сочетании с пастором (http://pythonpaste.org/) для процесса развертывания

3
ответ дан 4 December 2019 в 08:02
поделиться

Кроме easy_install?

Для наших серверов Linux мы используем easy_install и конфетку.

Для наших ноутбуков разработки Windows мы используем easy_install и некоторых MSI для некоторых проектов.

Большинство библиотек Python, которыми мы пользуемся, только для источника, таким образом, мы можем использовать то же распределение на всех полях. Если у нас могло бы быть сетевое общее устройство, мы поместили их всех там. К сожалению, наша инфраструктура отчасти рассеивается, таким образом, мы должны или переместить.TAR файлы или восстановить установки для восстановления сред.

В нескольких случаях (например, PIL), мы должны перекомпилировать и проверить номера версий.

2
ответ дан 4 December 2019 в 08:02
поделиться

Вы захотите, чтобы easy_setup получил яйца (примерно, что Знаток называет артефактом).

Для установки Вашей среды взгляните на работу-env.py

Python не компилируется, но можно поместить все файлы для проекта в яйце. Это сделано с setuptools

Для CI проверьте этот ответ.

2
ответ дан 4 December 2019 в 08:02
поделиться

Мы были бы небрежны, чтобы не также упомянуть Дорожного бетоноукладчика, который был создан Kevin Dangoor известности TurboGears. Проект находится все еще в альфе, но это кажется очень перспективным. Отрывок от страницы проекта:

Дорожный бетоноукладчик является основанным на Python инструментом сценариев сборки/распределения/развертывания вроде, Делают или Грабли. То, что делает Дорожного бетоноукладчика уникальным, является его интеграцией с наиболее часто используемыми библиотеками Python. Общие задачи, которые были легки прежде, остаются легкими. Что еще более важно, контакт с Вашими приложениями определенные потребности и требования теперь намного легче.

2
ответ дан 4 December 2019 в 08:02
поделиться

Я делаю точно это с комбинацией setuptools и Гудзона. Я знаю, что Гудзон является приложением Java, но он может выполнить материал Python очень хорошо.

0
ответ дан 4 December 2019 в 08:02
поделиться

Вы можете проверить наш Девенв . Он позволяет стандартизировать среды сборки для разработки, контроля качества и UAT. Это бесплатно, как в «бесплатном пиве».

HTH

0
ответ дан 4 December 2019 в 08:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: