用烧瓶的功率改变控制软件
Mandark的Python项目详细描述
====
python项目模板图片::https://travis-ci.org/infrascloudy/python-project-template.svg?branch=master
:target:https://travis ci.org/infrascloudy/python project template
此项目提供了一个最佳实践模板python project,它集成了多个不同的工具。它通过设置许多东西来节省工作,包括文档、代码检查和单元测试运行程序。
它们包括:
*用于运行杂项任务的铺路器
*用于分发的setuptools(setuptools和distribute已合并)
*用于文档的sphinx
*用于源代码检查的flake8
*用于单元测试的pytest
*用于模拟的mock(模板不要求,但无论如何都要包括在内)如果您是python新手或是创建python项目的新手,请参阅kenneth reitz的《hitchhiker's guide to python》,了解此处使用的一些工具的说明。_摊铺机:http://paver.github.io/paver/
…_设置工具:http://pythonhosted.org/setuptools/merge.html
…_分发:http://pythonhosted.org/distribute/
…_合并:http://pythonhosted.org/setuptools/merge.html
…_斯芬克斯:http://sphinx doc.org/
。_ flake8:https://pypi.python.org/pypi/flake8
。_ pytest:http://pytest.org/latest/
。_模拟:http://www.voidspace.org.uk/python/mock/
…_毒性:http://testrun.org/tox/latest/
。_搭便车的python指南:http://docs.python guide.org/en/latest/
project setup
==
这将是您项目的"自述"。现在,请按照以下说明正确设置此项目模板。然后,回来用项目特定的内容替换这个"自述"的内容。克隆模板项目,将"我的项目"替换为您正在创建的项目的名称:
cd my project
。编辑元数据文件"my module/metadata.py"以正确描述项目。
。根据您刚刚输入的项目元数据生成文件:
python internal/generate.py
生成脚本将删除所有模板文件并生成真实文件,然后在完成时进行自毁。
删除旧的git历史记录并有选择地重新初始化存储库:
更改"setup.py"中的"classifiers"关键字。这个*需要修改。将此"自述"替换为您自己的文本。
。*(可选,但良好实践)*为您的项目创建一个新的虚拟环境:
pyenv virtualenv my project
pyenv virtualenv my project
pyenv local my project
virtualenvwrapper
mkvirtualenv my project
使用普通的virtualenv::
virtualenv/path/to/my project venv
source/path/to/my project venv/bin/activate
安装项目的开发和运行时要求::
在为python 2.6开发时安装"argparse"包:
。运行测试:
类似的情况如下:
>$paverer test_all
--->-->;paverget.test_all
无风格错误
=====================================================================================================================================================.3.4
collected 5 items
tests/test_main.py .....
====================================== 5 passed in 0.05 seconds =======================================
___ _ ___ ___ ___ ___
| _ \/_\ / __/ __| __| \
| _/ _ \\__ \__ \ _|| |) |
在进入下一步之前,请手动更正这些错误。如果任何单元测试未通过,请报告一个问题。
**项目设置现已完成!**
…_ pyenv:https://github.com/yyuu/pyenv
…_ pyenv-virtualenv:https://github.com/yyuu/pyenv virtualenv
。_ virtualenvwrapper:http://virtualenvwrapper.readthedocs.org/en/latest/index.html
。_ virtualenv:http://www.virtualenv.org/en/latest/
。_虚拟环境部分:http://docs.python guide.org/en/latest/dev/virtualenvs/
通过在项目根目录中键入"paver help",可以看到完整的列表。包括以下内容:
pavement中的任务:
lint-执行pep8样式检查,运行pyflakes,并在代码上运行mccabe复杂性度量。
doc\u open-生成html文档并在web浏览器中打开它们。
coverage-运行测试并显示测试覆盖率报告。
doc\u watch-查看sphinx文档中的更改并在更改时重新生成。
测试-运行单元测试。
获取任务-获取所有铺路机定义的任务。
提交-仅在所有测试通过时提交。
全部测试-执行样式检查并运行所有单元测试。
例如,要同时运行单元测试和lint,请运行项目根目录中的以下内容:
paver test_all
然后在Web浏览器中打开它::
paver doc_open
并执行额外的测试运行,以确保文档生成工作完美无缺。
您可以在"tox.ini"文件中自定义受支持的、因此经过测试的python版本列表。
pip``requirements[-dev].txt``files vs.setuptools``install`需要``keyword
——"pip requirements files"是常规命名的"requirements.txt",位于许多存储库(包括这个存储库)的根目录中。"setuptools install\u requires关键字"是在"setup.py"中声明的依赖项列表,在安装包时由"pip"或"easy\u install"自动安装。它们有相似但不同的用途:
`` install_requires`` keyword
安装包的运行时依赖项。此列表旨在*排除不适用于此python包的依赖包的*版本。这将由"pip"或"easy_install"自动运行。
安装程序包的运行时和/或开发依赖项。通过指定确认协同工作的包的确切版本来复制环境。目标是"确保可重复性",并提供开发人员具有相同的开发环境。这将由开发人员使用"pip install-r requirements-dev.txt"手动运行。
有关详细信息,请参阅ian bicking(pip的作者)对"this stackoverflow question"的回答。
。_ PIP要求文件:http://www.pip-installer.org/en/latest/requirements.html
…_ setuptools安装需要关键字:http://pythonhosted.org/setuptools/setuptools.html?highlight=install需要声明依赖项
…_确保可重复性:http://www.pip-installer.org/en/latest/cookbook.html;确保可重复性
。_这个stackoverflow问题:http://stackoverflow.com/questions/6947988/when to use pip requirements file vs install requires in setup py
*pypy 1.9
jython和ironpython也可以工作,但尚未测试。如果有兴趣支持这些替代实现,请打开一个功能请求!
…_ Jython:http://jython.org/
。_ IronPython:http://ironpython.net/
分发您的项目
首先,您需要一个PYPI用户帐户。您可以使用PYPI网站上的表单创建帐户。
如果您希望在上载时避免输入用户名和密码,则可以使用您的用户名和密码创建~/.pypirc文件:
[pypi]
password=<;password>;
*请注意,这会以明文形式存储您的密码。*
如果这是您第一次为新项目上载分发内容,则tween将处理注册该项目。
tween upload dist/*
https://packaging.python.org/distributing/将项目上载到pypi
许可证
=
组成此python项目模板的代码在mit/x11许可证下获得许可。请随意在您的自由软件/开源或专有项目中使用它。
模板还使用许多其他软件,其许可证列在此处以方便使用。您有责任确保这些许可证对于您使用的每种工具的版本都是最新的。
+——+——+——+————————————————————————————————————————————————————————————————————"BR/E> BR/="BythOutoStare=+Br/> Python本身Python软件基础许可证< BR/> +-----------------------------------------------+BR/>许可证
+——+——+————————————————————————————————————————————————————————————————————————————————————————————————————————|
+——+——+—————————————————————————————————————————————————————————————————————————————————————————————————————————|
+——+——+————————————————————————————————————————————————————————————————————————————————————————————————————————|
+——+——+——————————————————————————————————————————————————————————————| MIT/X11许可证
+??--+??--+??--+
问题
==
请使用Github问题跟踪程序报告任何错误或请求!
开发
==
然后从项目根目录运行以下命令::
source internal/test.sh
这将把模板目录复制到临时目录,运行生成,然后运行tox。传递的任何参数都将直接转到tox命令行,例如::
source internal/test.sh-e py27
>此命令行将只测试python 2.7。
authors
==
*infrascloudy
python项目模板图片::https://travis-ci.org/infrascloudy/python-project-template.svg?branch=master
:target:https://travis ci.org/infrascloudy/python project template
此项目提供了一个最佳实践模板python project,它集成了多个不同的工具。它通过设置许多东西来节省工作,包括文档、代码检查和单元测试运行程序。
它们包括:
*用于运行杂项任务的铺路器
*用于分发的setuptools(setuptools和distribute已合并)
*用于文档的sphinx
*用于源代码检查的flake8
*用于单元测试的pytest
*用于模拟的mock(模板不要求,但无论如何都要包括在内)如果您是python新手或是创建python项目的新手,请参阅kenneth reitz的《hitchhiker's guide to python》,了解此处使用的一些工具的说明。_摊铺机:http://paver.github.io/paver/
…_设置工具:http://pythonhosted.org/setuptools/merge.html
…_分发:http://pythonhosted.org/distribute/
…_合并:http://pythonhosted.org/setuptools/merge.html
…_斯芬克斯:http://sphinx doc.org/
。_ flake8:https://pypi.python.org/pypi/flake8
。_ pytest:http://pytest.org/latest/
。_模拟:http://www.voidspace.org.uk/python/mock/
…_毒性:http://testrun.org/tox/latest/
。_搭便车的python指南:http://docs.python guide.org/en/latest/
project setup
==
这将是您项目的"自述"。现在,请按照以下说明正确设置此项目模板。然后,回来用项目特定的内容替换这个"自述"的内容。克隆模板项目,将"我的项目"替换为您正在创建的项目的名称:
。编辑元数据文件"my module/metadata.py"以正确描述项目。
。根据您刚刚输入的项目元数据生成文件:
python internal/generate.py
生成脚本将删除所有模板文件并生成真实文件,然后在完成时进行自毁。
删除旧的git历史记录并有选择地重新初始化存储库:
更改"setup.py"中的"classifiers"关键字。这个*需要修改。将此"自述"替换为您自己的文本。
。*(可选,但良好实践)*为您的项目创建一个新的虚拟环境:
pyenv virtualenv my project
pyenv virtualenv my project
pyenv local my project
virtualenvwrapper
mkvirtualenv my project
使用普通的virtualenv::
virtualenv/path/to/my project venv
source/path/to/my project venv/bin/activate
安装项目的开发和运行时要求::
在为python 2.6开发时安装"argparse"包:
。运行测试:
类似的情况如下:
>$paverer test_all
--->-->;paverget.test_all
无风格错误
=====================================================================================================================================================.3.4
collected 5 items
tests/test_main.py .....
====================================== 5 passed in 0.05 seconds =======================================
___ _ ___ ___ ___ ___
| _ \/_\ / __/ __| __| \
| _/ _ \\__ \__ \ _|| |) |
在进入下一步之前,请手动更正这些错误。如果任何单元测试未通过,请报告一个问题。
**项目设置现已完成!**
…_ pyenv:https://github.com/yyuu/pyenv
…_ pyenv-virtualenv:https://github.com/yyuu/pyenv virtualenv
。_ virtualenvwrapper:http://virtualenvwrapper.readthedocs.org/en/latest/index.html
。_ virtualenv:http://www.virtualenv.org/en/latest/
。_虚拟环境部分:http://docs.python guide.org/en/latest/dev/virtualenvs/
通过在项目根目录中键入"paver help",可以看到完整的列表。包括以下内容:
pavement中的任务:
lint-执行pep8样式检查,运行pyflakes,并在代码上运行mccabe复杂性度量。
doc\u open-生成html文档并在web浏览器中打开它们。
coverage-运行测试并显示测试覆盖率报告。
doc\u watch-查看sphinx文档中的更改并在更改时重新生成。
测试-运行单元测试。
获取任务-获取所有铺路机定义的任务。
提交-仅在所有测试通过时提交。
全部测试-执行样式检查并运行所有单元测试。
例如,要同时运行单元测试和lint,请运行项目根目录中的以下内容:
paver test_all
然后在Web浏览器中打开它::
paver doc_open
并执行额外的测试运行,以确保文档生成工作完美无缺。
您可以在"tox.ini"文件中自定义受支持的、因此经过测试的python版本列表。
pip``requirements[-dev].txt``files vs.setuptools``install`需要``keyword
——"pip requirements files"是常规命名的"requirements.txt",位于许多存储库(包括这个存储库)的根目录中。"setuptools install\u requires关键字"是在"setup.py"中声明的依赖项列表,在安装包时由"pip"或"easy\u install"自动安装。它们有相似但不同的用途:
`` install_requires`` keyword
安装包的运行时依赖项。此列表旨在*排除不适用于此python包的依赖包的*版本。这将由"pip"或"easy_install"自动运行。
有关详细信息,请参阅ian bicking(pip的作者)对"this stackoverflow question"的回答。
。_ PIP要求文件:http://www.pip-installer.org/en/latest/requirements.html
…_ setuptools安装需要关键字:http://pythonhosted.org/setuptools/setuptools.html?highlight=install需要声明依赖项
…_确保可重复性:http://www.pip-installer.org/en/latest/cookbook.html;确保可重复性
。_这个stackoverflow问题:http://stackoverflow.com/questions/6947988/when to use pip requirements file vs install requires in setup py
jython和ironpython也可以工作,但尚未测试。如果有兴趣支持这些替代实现,请打开一个功能请求!
…_ Jython:http://jython.org/
。_ IronPython:http://ironpython.net/
分发您的项目
首先,您需要一个PYPI用户帐户。您可以使用PYPI网站上的表单创建帐户。
如果您希望在上载时避免输入用户名和密码,则可以使用您的用户名和密码创建~/.pypirc文件:
[pypi]
password=<;password>;
*请注意,这会以明文形式存储您的密码。*
如果这是您第一次为新项目上载分发内容,则tween将处理注册该项目。
tween upload dist/*
https://packaging.python.org/distributing/将项目上载到pypi
许可证
=
组成此python项目模板的代码在mit/x11许可证下获得许可。请随意在您的自由软件/开源或专有项目中使用它。
模板还使用许多其他软件,其许可证列在此处以方便使用。您有责任确保这些许可证对于您使用的每种工具的版本都是最新的。
+——+——+——+————————————————————————————————————————————————————————————————————"BR/E> BR/="BythOutoStare=+Br/> Python本身Python软件基础许可证< BR/> +-----------------------------------------------+BR/>许可证
+——+——+————————————————————————————————————————————————————————————————————————————————————————————————————————|
+——+——+—————————————————————————————————————————————————————————————————————————————————————————————————————————|
+——+——+————————————————————————————————————————————————————————————————————————————————————————————————————————|
+——+——+——————————————————————————————————————————————————————————————| MIT/X11许可证
+??--+??--+??--+
问题
==
请使用Github问题跟踪程序报告任何错误或请求!
开发
==
然后从项目根目录运行以下命令::
source internal/test.sh
这将把模板目录复制到临时目录,运行生成,然后运行tox。传递的任何参数都将直接转到tox命令行,例如::
source internal/test.sh-e py27
>此命令行将只测试python 2.7。
authors
==
*infrascloudy