用烧瓶的功率改变控制软件

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



欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
通过java exec()在后台运行shell脚本的ssh返回退出代码127   图像展平pdf中的矢量图形并使用java进行提取   Java类中RSA加密的问题   java将EditText保存到数组中(不同的活动)   使用jdbc的java TCP/IP连接问题。数据库   java无法加载ApplicationContext。无法创建集成测试   java在HTML中打印ArrayList并将每个项与输入框匹配   java我在CAS JAR中找不到ProxyTicketReceptor   java如何从其他应用程序调用警报?   如何将google xml提要转换为java对象集合   泛型Java擦除>编译时类型对齐或Java库/框架代码转换为应用程序逻辑   java如何在安卓中访问第三方应用程序中的电子邮件帐户?   java Android基于onclick listview从SQLite数据库检索数据   Java、Tomcat和Jersey托管   java首选方法使用AWSCredentials构建AmazonS3Client实例   Android Studio中“视图v”的java含义   为什么Java方法重写在下面的程序中不起作用