tox 工程打包

2023-12-08 00:49
文章标签 工程 打包 tox

本文主要是介绍tox 工程打包,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

之前交付模型时,通常提供源码、模型等,配置环境时费心费力,因此,尝试用tox打包模型环境,便于工程的交付。

1. tox工程文件介绍

  1. /bin:提供工程的入口,由于tox打包后,源码src目录将进入lib目录下,作为python包供调用,因此,为了方便运行,需要定义入口函数,代码内容如下:
import src.spider_for_covid.daily_spider_for_covid as mainif __name__ == "__main__":try:main.main()except Exception as e:logging.exception(e)os._exit(-1)
  1. /etc:配置文件夹,用于存放各种config文件
  2. /logs:日志文件夹,用于存放代码运行的各种日志文件
  3. /src:存放源码
  4. /test:单元测试,基本没用到过
  5. /var:存放各种外部依赖文件,如txt,csv,model等文件,注意tox打包后src进入lib目录下,因此src中的源码文件调用var下的文件时,需要向上两层查找根节点地址,代码内容如下:
py_dir = os.path.dirname(os.path.realpath(__file__))
dir1 = os.path.dirname(py_dir)
parent_dir = os.path.dirname(dir1)
lib_dir = os.path.join(parent_dir, 'var', 'lib')
  1. requirements.txt:提供各种配置环境的要求
  2. .project,tox.ini,setup.py中需要相应的修改工程的根目录,建议直接使用pycharm打开后,refactor–>rename

2. 编译打包

各项工作准备完毕后,打开cmd,使用如下命令进行编译,编译完成后,将生成build文件夹,压缩包即为打包好工程,打开cmd,运行/bin下的入口代码即可运行工程。注意每次更新编译文件后,再次编译时需要删除原文件

rm -rf build/ AAA.egg-info/ .tox/
tox -e py36-release

3. linux文件替换

在服务器上的node08节点重新打包工程后,将lib文件替换到node01节点的指定目录下,先在xshell中进入该目录,输入一下命令即可

scp -r node08:/opt/AAA/lib ./

这篇关于tox 工程打包的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/467918

相关文章

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

springboot3打包成war包,用tomcat8启动

1、在pom中,将打包类型改为war <packaging>war</packaging> 2、pom中排除SpringBoot内置的Tomcat容器并添加Tomcat依赖,用于编译和测试,         *依赖时一定设置 scope 为 provided (相当于 tomcat 依赖只在本地运行和测试的时候有效,         打包的时候会排除这个依赖)<scope>provided

Jenkins构建Maven聚合工程,指定构建子模块

一、设置单独编译构建子模块 配置: 1、Root POM指向父pom.xml 2、Goals and options指定构建模块的参数: mvn -pl project1/project1-son -am clean package 单独构建project1-son项目以及它所依赖的其它项目。 说明: mvn clean package -pl 父级模块名/子模块名 -am参数

二、Maven工程的创建--JavaSEJavaEE

1、idea创建Maven JavaSE工程:  2、idea创建Maven JavaEE工程:   (1)手动创建 (2)插件方式创建 在idea里安装插件JBLJavaToWeb; 选择需要生成的项目文件后,右击: 项目的webapp文件夹出现小蓝点,代表成功。

android6/7 system打包脚本

1.android5打包system就是网站上常见的制作ROM必备的解包打包system脚本 指令如下:mkuserimg.sh -s out/target/product/$TARGET_PRODUCT/system out/target/product/$TARGET_PRODUCT/obj/PACKAGING/systemimage_intermediates/system.img

android打包解包boot.img,system.img

原帖地址:http://www.52pojie.cn/thread-488025-1-1.html 转载Mark一下,日后研究 最近工作需要对boot.img,system.img进行破解。顺便将心得分享一下。 我的工作环境是在linux下的。所以工具都是针对linux的。 boot.img破解相关工具: 1、split_boot    perl脚本 2、boot_i

三、Maven工程的构建

首先,创建和构建是两个概念。 构建是指将源代码、依赖库和资源文件等转换为可执行或可部署的应用程序的过程。 在这个过程中包括编译源代码、链接依赖库、打包和部署等多个步骤。 项目构建是软件开发过程中至关重要的一部分,它能够大大提高软件开发效率,使得开发人员更加专注于应用程序的开发和维护,而不必关心应用程序的构建细节。 同时,项目构建还能将多人写的代码聚合,并能够自动化项目的构建和部署,

MTK Android P/Q system/vendor/super快速打包

一、Android 新版本默认开启了动态分区,把system vendor  product等分区打包成一个super分区。这对于我们使用替换分区的方法来排查问题不是很方便,直接替换一个super也不知道到底是哪个部分导致的。所以我们需要自己制作super.img来缩小范围。下面讲讲如何快速生成system、vendor、super,以及vbmeta(校验image,不匹配可能会导致不开机) 二

MTK AndroidP/Q快速打包ramdisk

一、Android P/Q ramdisk与老版本的差异 Android老版本的ramdisk是out下的root/ramdisk打包而来,里面包含了init  /sbin  init.rc   default.prop等文件。是一个完整的ramdisk Android新版本ramdisk分为了out 下的ramdisk目录和root目录,init ,init.rc等文件大部分都放到了syst

Android P/Q MTK平台无依赖打包boot.img

背景:        有时排查版本问题,需要用到替换img的方式来查找问题出现在哪个img,若出现在bootimg,那到底是kernel、DTB 还是ramdisk。此时就需要单独替换其中一个的方式来打包,之前直接make bootimage-nodeps就可以了,但现在发现执行这个命令无效了。下面就分析下新版本如何找到正确的打包命令。 一、找到编译boot的命令 之前Android编译lo