任务背景: 上个月领导给我一个模型工程化专项工作,大体内容就是,把模型团队交付的项目代码,部署到应用环境中,跑出来的结果供系统使用。这也是我最近一直在忙着做的一个事情,天天加班到8、9点。...理想目标: 在Java中有很多开源的任务管理项目,比如说国产的xxl-job。...地址:https://www.xuxueli.com/xxl-job/ 但是呢,模型相关的内容基本都是Python交付的,偶然还有matlab,所以期望能找到一个开源的Python任务管理调度项目 开源寻找...相应的在Django中有集成包——django-apscheduler,它是一个 Django 应用程序,它为 APScheduler 添加了一个轻量级的包装器。...对于当前的实际情况来说,选择3的优点,是可以基于历史项目升级,部分的功能可以复用(之前是基于Api管理),缺点是需要自主开发可视化的管理。 选择4的优点,前端功能大部分已经实现了。
distutils和setuptools工具 用来Python环境中构建和安装额外的模块,模块可以基于Python,也可以C/C++写的扩展模块,可以是python包,包中包含了C和Python编写的模块...setuptools是 Python Enterprise Application Kit(PEAK)的一个副项目,它是一组Python的 distutilsde工具的增强版(适用于 Python 2.3.5...: 作者的邮箱 py_modules : 打包的.py文件 packages: 打包的python文件夹 include_package_data : 项目里会有一些非py文件,比如html和js等,...,输入: # python setup.py sdist 此时在目录中生成dist文件夹,文件夹中有testpg-1.0.tar.gz文件,用户安装的话只需要testpg-1.0.tar.gz文件即可...1.创建一个文件夹,将需要封装的pagtest文件夹(里面为.py文件,需要包括一个__init__.py文件,内容可以为空)放到该文件夹中,然后创建setup.py文件对包进行配置: from setuptools
distutils和setuptools工具 用来Python环境中构建和安装额外的模块,模块可以基于Python,也可以C/C++写的扩展模块,可以是python包,包中包含了C和Python编写的模块...setuptools是 Python Enterprise Application Kit(PEAK)的一个副项目,它是一组Python的 distutilsde工具的增强版(适用于 Python 2.3.5...: 作者的邮箱 py_modules : 打包的.py文件 packages: 打包的python文件夹 include_package_data : 项目里会有一些非py文件,比如html和js...,输入: python setup.py sdist 此时在目录中生成dist文件夹,文件夹中有testpg-1.0.tar.gz文件,用户安装的话只需要testpg-1.0.tar.gz文件即可。...setuptools对自己的文件进行打包 READMED.md :这个是对项目的一些使用方法的一些说明文件(可以为空文件) 编辑文件夹内文件的内容,为了简单,我们假定其他都是空文件,cal_similarity.py
python中安装包的方式有很多种: 源码包:python setup.py install 在线安装:pip install 包名(linux) / easy_install 包名(window) python...setup sdist 再次查看当前目录下自动生成了一个文件夹dist,文件夹中有一个压缩包即为我们的目标文件。...# 包名 version = "0.1", # 版本信息 packages = ['demo'], # 要打包的项目文件夹 include_package_data...=True, # 自动打包文件夹内所有数据 zip_safe=True, # 设定项目包为安全,不用每次都检测其安全性 install_requires...三、打包 python setup.py sdist 打包之后多出两个文件夹,分别是demo.egg-info和dist。
在集成了Caffe2之后,Pytorch已经开始变成了庞然大物,涉及到的东西也远远不是之前的caffe可以比较了,总之,Pytorch有很多很多值得我们学习的地方,这篇文章简单讲讲编译Pytorch的一些额外知识...third_party Pytorch毕竟是大型的深度学习库,所以需要的依赖库也是有很多的,其中有很多我们耳熟能详的数值计算库(eigen、gemmlowp)、模型转换库(onnx、onnx-tensorrt...进行构建的,而是结合了python端的setuptools搭配cmake进行构建,pytorch的项目还是比较庞大的,所以编译代码也是老长,我们主要看看编译过程中的环境变量即可: # Environment...python setup.py install使用,如果你不想编译CUDA,则NO_CUDA=1 python setup.py install..../tools/build_libtorch.py 开发者模式:python setup.py build develop(对Python开发有帮助) 安装后的自我检验 默认我们安装Pytorch的时候会自带上
Python三方库安装常用的主要有两种模式:一种是直接从 github 上 clone 下来用 setup.py 安装,另一种是用 pip install 来安装。...这里采用了setuptools编写安装脚本,Setuptools是一个包开发过程库,其增强Python标准库distutils,使得打包Python项目更简单。...,也就是包含__init__.py的文件夹 install_requires 需要安装的依赖包 data_files 可以用于引入一些额外的信息文件和数据,如图片、配置文件, [('文件要放入的文件夹1...*.dat文件 } 写好setup.py文件,可以python setupy install进行安装测试。...Python 三方包的开源完成了。
简介 python 包可以使用 pip 工具方便地管理,分享和使用。 使用python包模块有很多好处: 可以使用pip之类的命令来管理和安装python模块,避免手动管理引用文件。...方便共享我们的python包。 在一个模块中可以添加文档。 在python包与包之间有很多的相互依赖,引入包模块可以预先加载所有需要的包,避免由于模块之间依赖造成的问题。...pypi 包中打包非 py 文件,需要在 setup.py 文件中额外指定 建立 config 对象,使用 add_data_files 函数添加文件路径 示例 setup.sh import sys...发布 python 包 在命令行中切换到当前目录,输入: python setup.py sdist 会在当前目录生成 dist 文件夹 你可以任选以下两种方式之一发布你的轮子。...setup.py bdist_wheel 在 dist 文件夹中会生成 whl 包 可以 pip install xxx.whl 直接安装 管理你的包 如果你的包已经上传成功,那么当你登录PyPI网站后应该能在右侧导航栏看到管理入口
在Python中有一个概念叫做模块(module),这个和C语言中的头文件以及Java中的包很类似,比如在Python中要调用sqrt函数,必须用import关键字引入math这个模块,下面就来了解一下...2、模块中有__all__ ? 8、python中的包 1、引入包 有2个模块功能有些联系 ? 所以将其放到同一个文件夹下 ? 使用import文件.模块 的方式导入 ?...事实上,你可以一直沿子包的树状结构导入: ? 在我们上边的目录结构中,我们可以发现很多的__init__.py文件。这些是初始化模块,from-import语句导入子包时需要用到它。...2、编辑setup.py文件 py_modules需指明所需包含的py文件 ? 3、构建模块 python setup.py build ?...10、模块的安装使用 1、安装的方式 找到模块的压缩包、解压、进入文件夹、执行命令python setup.py install。
在Python中有一个概念叫做模块(module),这个和C语言中的头文件以及Java中的包很类似,比如在Python中要调用sqrt函数,必须用import关键字引入math这个模块,下面就来了解一下...: from modname import * 注意 ·这提供了一个简单的方法来导入一个模块中的所有项目。...2.模块中有__all__ ? ? 8.python中的包 1.引入包 有2个模块功能有些联系 ? 所以将其放到同一个文件夹下 ? 使用import文件.模块 的方式导入 ?...2.编辑setup.py文件�� py_modules需指明所需包含的py文件 ? 3.构建模块 python setup.py build ?...10.模块的安装使用 1.安装的方式 1.找到模块的压缩包 2.解压 3.进入文件夹 4.执行命令python setup.py install 注意: ·如果在install的时候,执行目录安装,
项目文档结构 首先我们先构建出自己项目的文档结构,首先是LICENSE和README.md,这两个文件并不是必要的,但是最好将其加上,方便别人了解你的项目。...接下来是打包库需要的一些文件,主要有MANIFEST.in和setup.py两个文件。MANIFEST.in表示打包时不会被自动包含进去的附加文件清单。...setup.py是打包程序配置文件,需要设置一些选项。此外,setup.cfg是包含setup.py额外配置信息的文件,我没有用到这其中的设置,所以本项目中其是空的。...caafinder文件夹就是我们要写的Python程序,我们要注意这个文件夹里必须有__init__.py这个文件。 ? 下面是一下setup.py的一些简单配置选项,详细请参考官方文档。 ?...为了避免模块名冲突,Python又引入了按目录来组织模块的方法,称为包(Package),包是一个带有__init__.py的文件夹,如图中文档所示,我们有一个包caafinder,因为它的子级有一个_
一般情况下,一个预发布的Python项目中应该包含以下几类文件: projects (项目的主体文件) setup.py requirements Readme (项目说明) docs (项目文档) test...其中,projects文件夹要以项目命名,存放实际的Python Package....现在有很多开源项目的文档都是托管在这里的,具体的配置可以参考官方文档。...以我的项目为例子: 配置setup.py: #!...打包代码 $ python setup.py sdist # 生成pip支持的安装包 $ python setup.py bdist_wheel # 生成支持easy_install的安装包 发布到PyPI
包 包(package),本质来说就是一个文件夹,但是其中有一个init.py文件。...install xxxx -U 查看已安装的包: pip list python项目 一个完整的结构需要满足以下的条件: 拥有一个在版本管理之下的源码目录 程序信息在setup.py中定义 在一个...pass if __name__ == '__main__': main() 第二步:创建setup.py mytest文件夹同级目录下创建一个setup.py: from setuptools...是否语法正确: $ python setup.py check image.png 语法有误,继续修改.........第三章:python项目的结构和包的创建 导入他人写的Python包&创建自己的Python包 如何创建自己的python包 如何将自己的Python程序打包--setuptools详解 Python
概览 这里主要收集python项目的打包、发布和部署的常用方法,只是入门级别,深入的流程还是以官方文档为准(链接每节都已经给出)。...,生成安装包,安装python包等工作,需要编写名为setup.py python脚本文件。...:distribution), 将项目文件放进去 在该文件夹下,新建setup.py文件 编辑内容: from distutils.core import setup setup( name...打包:python setup.py sdist 这样在文件夹中就多出了几个文件,在dist文件夹中的,logIn-1.0.0.tar.gz就是我们的发布包了; (2)....rm -rf 二、setuptools: setuptools 只是对distutils 的增强, 其使用过程还是一样: 编辑: 先在项目主目录下编辑setup.py, 打包: python setup.py
概览 这里主要收集python项目的打包、发布和部署的常用方法,只是入门级别,深入的流程还是以官方文档为准(链接每节都已经给出)。...,生成安装包,安装python包等工作,需要编写名为setup.py python脚本文件。...:distribution), 将项目文件放进去 在该文件夹下,新建setup.py文件 编辑内容: from distutils.core import setup setup( ...打包:python setup.py sdist 这样在文件夹中就多出了几个文件,在dist文件夹中的,logIn-1.0.0.tar.gz就是我们的发布包了; (2)....rm -rf 二、setuptools: setuptools 只是对distutils 的增强, 其使用过程还是一样: 编辑: 先在项目主目录下编辑setup.py, 打包: python setup.py
只是一个简单的demo,一个demo项目中,有一个hello文件,文件中有一个函数hello,函数的作用是读取testdd.txt文件中的数据然后输出。...这个项目中还有其他的一些东西,以演示打包。...打包时候的命令有两个, 一个是打包成egg文件:python setup.py bdist_egg 。...执行完成后,会在同目录下多了两个文件夹:demo.egg-info和dist,egg文件就在dist中,这个文件可以上传到pypi.python.com上,供大家下载。...然后执行python setup.py install 就会在你的虚拟环境的bin下创建一个demo的可执行文件,你在虚拟环境中运行:demo,输出结果。 很简单的东西,但是需要参考。
在工作中,有时候我们需要部署自己的Python应用 或进行私有化部署时,尤其现在都是通过docker镜像部署,我们并不希望别人能够看到自己的Python源程序。 ?...加密过程中会产生很多多余文件,加密后可以删除,我这里用了脚本一步完成 加密流程 1、项目文件加密 2、将加密的文件移至对应目录下 3、删除原文件和生成的附属文件夹 设备:Mac 项目:简单测试项目...进入项目下,执行加密文件setup.py: python3 setup.py build_ext ?...image 多了一个文件:origin.c 和 一个文件夹:build build里就是我们加密后的文件,手动将build/lib下的对应文件替换掉源文件即可,对应的.c文件也可删除 ?...,目录不是空的 print("删除完成") 进入项目下,执行加密文件setup.py: python3 setup.py build_ext ?
应该没有唯一的统一标准,但Python社区大佬Kenneth Reitz在2013年提出一个Python项目目录结构,推荐你日后项目中参考。...先来看看第一个文件夹docs,它是项目相关文档,包括依赖包安装的Makefile和make.bat,项目配置conf.py,项目介绍文档index.rst,是比README.rst更细化的一个文档,README.rst...第二个文件夹sample,在Python中一般叫做包(package),它是项目核心代码,一般会有多个这种包,__init__.py是Python包包括的文件。...有了上面三个最主要的包外,文件最重要的有setup.py,这个文件是做什么的? 简单来说,setup.py是和打包相关的配置模块,一般结合setuptools。...相当于花一门课的钱,学到了很多门课。 这个课有专属班级群,我会在里面答疑每一个提问。 长按图中圆圈二维码 zhenguo出品,品质保证!
在python中使用protocol buffer Protobuf3语言指南 Protobuf协议的Java应用例子 二、Protobuff安装 GitHub项目地址:Protocol Buffers...解压后重命名文件夹如下【也可以保持原有的文件夹名不动】 ?...三、protoc.exe编译器下载 百度网盘:protoc-3.5.1-win32.zip 下载解压后,将文件夹bin下面的exe执行程序拷贝到上一步的protobuff目录任意文件夹下 ?...= 2 ; } 上述定义了一个消息体,名称是Person,编译后等同于Python的模块、Java的类、C++的头和源文件,其中有两个字段,一个是32位的id,一个是字符串name 关于proto...文件夹,进去,依次执行 python setup.py build python setup.py test python setup.py install 执行前目录结构: ?
image.png 好不容易码了个 python 项目,是不是很兴奋?那么怎么把这个项目发出去让大家看到呢?本文作者写了一份在 GitHub 上发布 python 包的简单分步指南。...通常情况下,项目库的根目录包含一个以项目名称命名的文件夹,项目的核心代码应该位于此文件夹中。在这个文件夹之外是运行和构建包(测试、文档等)所需的其他代码。...在你的项目有了一套结构之后,你应该在项目库的根目录下添加 setup.py 文件。...这一点很重要,因为你希望尽可能多地测试项目中的代码量(以减少意外的 bug)。 很多框架也可以用于计算覆盖率,对于 SciTime,我们使用了 codecov。...同样,有很多工具可以帮助你解决。这里我们用了 flake8。 第 5 步:创建一个合理的文档 现在你的项目已经测试过了,结构也很好了,是时候添加一个合理的文档。
通常情况下,项目库的根目录包含一个以项目名称命名的文件夹,项目的核心代码应该位于此文件夹中。在这个文件夹之外是运行和构建包(测试、文档等)所需的其他代码。...在你的项目有了一套结构之后,你应该在项目库的根目录下添加 setup.py 文件。...所有测试都应该放在一个专用的文件夹中(例如名为 tests/或 testing 的文件夹)。在这个文件夹中放置你需要的所有测试文件,以便尽可能多地包含你的核心代码。下面是一个如何编写单元测试的示例。...这一点很重要,因为你希望尽可能多地测试项目中的代码量(以减少意外的 bug)。 很多框架也可以用于计算覆盖率,对于 SciTime,我们使用了 codecov。...同样,有很多工具可以帮助你解决。这里我们用了 flake8。 第 5 步:创建一个合理的文档 现在你的项目已经测试过了,结构也很好了,是时候添加一个合理的文档。
领取专属 10元无门槛券
手把手带您无忧上云