которые создают инструмент (инструменты), Вы рекомендуете для Python? [закрытый]

  1. Перейти к вашему AndroidManifest.xml.
  2. поместите курсор в имя пакета, как показано ниже, не выбирайте его, просто поместите его.
    1. Затем нажмите shift+F6, вы получите всплывающее окно, как показано ниже, выберите «Переименовать пакет».

    1. Введите новое имя и выберите «Рефакторинг». (Обратите внимание, что мой курсор находится на «что-то», только что-то переименовано.)

    Вот и все.

28
задан Davide 16 May 2009 в 03:30
поделиться

5 ответов

Ваши требования предполагают Scons , которые, согласно их веб-сайту, имеют больший контроль над различными строительными задачами, чем Paver . В последнем случае вы бы использовали много sh(), в котором выполняются обычные программы командной строки.

Недавно я начал использовать Paver , который действительно хорош для запуска тестов, создания документации с помощью Sphinx , но я использую только чистый Python. Если вы хотите увидеть, что возможно с Paver, я настоятельно рекомендую эти 2 статьи: конвертирование из производства в асфальтоукладчик и написание технической документации Дуга Хеллмана, и вы определенно хотите проверить его конфигурационный файл pavement.py .

10
ответ дан edin1 14 October 2019 в 11:38
поделиться

Я использовал setuptools для этого, иногда в сочетании с Ant для более сложных вещей или для интеграции с другими сборками. В целом, это хорошо сработало для меня, но я слышал, что некоторые люди из #python (freenode) жалуются на в целом низкое качество исходного кода для этого пакета и рекомендуют стандартную distutils .

Одна вещь, на которую стоит обратить особое внимание, если вы привыкли к Java (как я), это то, что python не поддерживает разделенные пакеты. То есть вы не можете поместить site.db в src / site / db, site.view в src2 / site / view, поместить src и src2 в PYTHONPATH и ожидать, что все будет работать. Это вызвало у меня большие головные боли с инструментами сборки, это работало немного спорадически:)

4
ответ дан Alexander Torstling 14 October 2019 в 11:38
поделиться

Чтобы избежать дальнейших ответов, таких как у jwp, обратите внимание, что для этого проекта мне абсолютно необходимо, чтобы моя программа была автономным исполняемым файлом, потому что абсолютно невозможно иметь виртуальную машину Python на целевой платформе, где будет выполняться исполняемый файл. У меня точно такой же hw для компиляции, так что, к счастью, мне не нужно кросс-компилировать (но я бы занялся разработкой для более дружественного Linux).

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

Если вам нужно иметь отдельный исполняемый файл, вам не нужно запускать Cython. Для этого есть несколько хороших библиотек:

Однако, чтобы запустить код Python, вам просто нужно установить интерпретатор или виртуальную машину на целевой машине в той или иной форме. Решения, которые я представил, включают просто встраивание интерпретатора, чтобы облегчить его установку. На самом деле, я почти уверен (но могу ошибаться), что Cython не позволит вам создавать автономные исполняемые файлы. Он в основном предназначен для создания расширений интерпретатора Python.

Однако есть несколько других альтернатив. Если у вас есть интерпретатор Java на целевой машине, вы можете запустить Jython . Также есть IronPython для .net. Однако вам все равно придется распространять среды выполнения для этих языков вместе с вашим проектом.

Короче говоря, если вам нужен автономный исполняемый файл без зависимостей, ваш единственный вариант - использовать прямой C или C ++.

3
ответ дан Jason Baker 14 October 2019 в 11:38
поделиться

Один инструмент, который я люблю, - это virtualenv: http://pypi.python.org/pypi/virtualenv

с сайта: Что он делает virtualenv - это инструмент для создания изолированных сред Python. Основная проблема, которая решается, - это одна из зависимостей и версий, а также косвенных разрешений. Представьте, что у вас есть приложение, которому требуется версия 1 LibFoo, а другому приложению требуется версия 2. Как вы можете использовать оба этих приложения? Если вы установите все в /usr/lib/python2.4/site-packages (или в другое стандартное местоположение вашей платформы), легко попасть в ситуацию, когда вы непреднамеренно обновите приложение, которое не следует обновлять.

Вы также можете попробовать: http://pypi.python.org/pypi/zc.buildout

с сайта: Проект Buildout обеспечивает поддержку для создания приложений, особенно приложений Python. Он предоставляет инструменты для сборки приложений из нескольких частей, Python или других. На самом деле приложение может содержать несколько программ, процессов и параметров конфигурации.

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

Мне также сказали и прочитали в пара мест, что нос - очень крутой инструмент для тестирования http://somethingaboutorange.com/mrl/projects/nose/0.11.1/ , я ищу свободное время, чтобы попробовать это.

Надеюсь, это поможет Ура, Ale

4
ответ дан 28 November 2019 в 03:38
поделиться

Если это вообще возможно, я бы посоветовал избегать модулей расширения (C / cython) в начале . Получите весь код, написанный на Python, используйте простую конфигурацию на основе distutils , запустите свои тесты с помощью -m ( python -m mypkg.test.testall или что угодно; import unittest ).

Как только вы приведете свой проект в удобное состояние, начните выполнять некоторые оптимизации с помощью cython и дополнительного управления проектами, которое приходит с этим. distutils может создавать модули расширения, поэтому я не уверен, что вам понадобится make / scons ..

 project-dir/
  setup.py
  mypkg/
   __init__.py
   mymod.py
   test/
    __init__.py
    testall.py
    testsomething_specific.py
14
ответ дан 28 November 2019 в 03:38
поделиться
Другие вопросы по тегам:

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