这是一个描述

bestpractice的Python项目详细描述


简介

假设你想做一个叫做bestpractice的命令行工具。 它接受整数作为数字 我们要喂胡萝卜

ex:
	cmd> bestpractice 2 
	ouput: 4

我们可以通过两种方式获得输出:

  • 命令行

    ^{pr2}$ 在
  • 称为python moudle

    python -m bestpractice 2

最佳实践方案

环境

make env生成

这是在任何python项目中需要执行的第一步

  • 它将创建一个虚拟环境
  • 自动来源
  • 安装启动要求

试验

运行make test

make run将以模块模式运行 make main将在正常模式下运行

您可以看到main.pybestpractice/__main__.py是同一个内容文件。在

为什么我们需要main.py? 像intellij一样,很容易在IDE中创建条目。在

我可以用__main__.py这样运行吗?在

python bestpractice/__main__.py

你不能。在

这是因为顶层包问题。在

例如:

python main.py 
top-level package is the same as main.py

python src/func/main.py  
top-level package is the same as main.py, aka func 
top-level package is the folder where you run this command from

那么,为什么bestpractice/__main__.py不起作用呢?在

因为顶级软件包现在是最佳实践。在

测井

日志打印总是使用日志,不要t use打印logging config is controlled by日志.yml, which can control every module level call在主文件(ra)中设置日志记录

制造模块

在与logx文件夹并行的文件夹中更新readmeput moudle。在

  • 对数
  • 你的游戏模块

包装模块或cmd

局部

用于快速测试

  • 安装:pip install .
  • 卸载:pip uninstall <module_name>

make install make uninstall

上载到test或prod PYPI服务器

上载到测试服务器:

make upload-to-test 

上传到生产服务器:

make upload-to-prod

测试和覆盖范围

纯试验

make test

覆盖测试

make coverage

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

推荐PyPI第三方库


热门话题
java如何从IBM MQ的JMSException检测可恢复错误   java Lucene6。4.2:找不到类,尝试添加查询。   Java Pdf差异库   在Java中多线程处理我的线程   java将字符串传递给Uri。下载中的parse()   java在列表中查找原语位置   java JPA条件从另一个查询中选择   java中的强制转换和转换   java如何在没有上下文的情况下获取SOAP Web服务(Apache Axis 1.4)的调用客户端的IP地址   java Android IllegalBlockSizeException:解密中最后一个块未完成   java Jersey是否要自定义无效资源路径的错误处理?   如何将JavaCVS web项目转换为基于maven的web项目?   java如何检查通用列表是否与jUnit相等?   arraylist java。util。尝试使用迭代器时发生ConcurrentModificationException错误   使用springsecurity,jsp上的java${u csrf.token}始终为空   sql使用java从临时表中选择数据   spring验证中的java@Notnull和@Pattern无效   java如何使用jQuery将包含对象数组的对象数组传递给Spring MVC控制器?