Форум сайта python.su
Чтобы создать проект:
1) уже имеем Python и pip (в моём случае Python3 и pip3)
2) ставим pybuilder:
sudo pip install pybuilder
mkdir myproj pyb --start-project
cd myproj
pyb
BUILD FAILED - Missing prerequisite flake8 required by plugin python.flake8
use_plugin("python.flake8")
myproj
├── build.py
└── src
├── main
│ ├── python
│ └── scripts
└── unittest
└── python
use_plugin("pytest")
... name = "bilder_start" default_task = "publish" @init def set_properties(project,logger): logger.info("Hello, PyBuilder--set_properties--") project.set_property('unittest_module_glob','selenium') @task def publish (logger): logger.info("Hello, PyBuilder--publish---") @task def say_hello (): print("Hello, PyBuilder--say_hello--") @task def say_hello_logger (logger): logger.error("Hello, PyBuilder--say_hello_logger--")
[INFO] Hello, PyBuilder--set_properties-- ... [INFO] Hello, PyBuilder--publish---
Отредактировано alexpf (Фев. 19, 2015 14:04:35)
Офлайн
Получилось билдить проект и запускать юниттесты.
1) Решил вопрос с flake8 и coverage
У меня pybuilder установлен под python3, а эти модули я не поставил туда, следовательно:
pip3 install flake8 coverage
2) Упростил build.py, убрал всё лишнее:
from pybuilder.core import use_plugin, init from pybuilder.core import task use_plugin("python.core") use_plugin("python.unittest") use_plugin("python.install_dependencies") use_plugin("python.flake8") use_plugin("python.coverage") use_plugin("python.distutils") name = "bilder_start" default_task = "publish" @init def set_properties(project): pass
Офлайн
Непрерывная интеграция.
Вот он ключик ради которого всё затевалось:
pyb install_dependencies publish
use_plugin("python.core") use_plugin("python.unittest") use_plugin("python.install_dependencies") use_plugin("python.flake8") use_plugin("python.coverage") use_plugin("python.distutils")
sudo adduser `id -un` staff
pyb install_dependencies publish
error: could not create '/usr/local/lib/python2.7/dist-packages/coverage': Permission denied
Офлайн