这是一个描述

lan的Python项目详细描述


简介

假设您想制作一个名为lan的命令行工具。 它接受整数作为数字 我们要喂胡萝卜

ex:
	cmd> lan 2 
	ouput: 4

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

  • 命令行

    ^{pr2}$ 在
  • 称为python moudle

    python -m lan 2

最佳实践方案

环境

make env生成

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

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

试验

运行make test

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

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

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

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

python lan/__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

那么,为什么lan/__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第三方库


热门话题
在Eclipse中使用多个调用在一行上打印java   javajackson序列化问题。只有同一实体的第一个对象可以很好地序列化   Java中Deflate函数的等价充气   使用customlitview的java Android actionbar搜索   java“<T>T get()”是什么意思?(它有用吗?)   目标c使用CommonCrypto使用AES256加密,使用OpenSSL或Java解密   java在运行时更新资源文件   fileinputstream在java中访问并将数据写入现有文件   带集群的java Android Mapbox我希望每个功能都有不同的标记图像   java JDK8>JDK10:PKIX路径生成失败:SunCertPathBuilderException:找不到请求目标的有效证书路径   java使用Hk2生成具有指定构造函数参数的实例   为什么这个系统。出来Java中的println()打印到控制台?   java目录和文件名连接不起作用   使用mockito和通配符绘图的java