模块可以被项目中的其他模块、一些脚本甚至是交互式的解析器所使用,它可以被其他程序引用,从而使用该模块里的函数等功能,使用Python中的标准库也是采用这种方法。...注意:自定义模块的命名一定不能和系统内置的模块重名了,否则将不能再导入系统的内置模块了。...例如:自定义了一个sys.py模块后,再想使用系统的sys模块是不能使用的; 第三方的开源模块:这部分模块可以通过pip install进行安装,有开源的代码; 一般查看python下安装了什么包,我们可在命令行模式下输入...在另一台服务器上想部署相同的包,只需运行: $ pip install -r requirements.txt 总结 到此这篇关于导出python安装的所有模块名称和版本号到文件中的文章就介绍到这了,更多相关...python 模块名称版本号导出内容请搜索ZaLou.Cn以前的文章或继续浏览下面的相关文章希望大家以后多多支持ZaLou.Cn!
插件 maven插件,是 Gradle 1.0 的时候提供的用于发布aar/jar包到 Maven 仓库的插件。...artifactId 组件的名称 glide version 组件的版本 4.11.0 packaging 打包的格式 aar/jar 2、 什么是仓库(repository)?...maven 插件 和 maven-publish 插件,如何发布aar/jar包。...publication-> // 名称可以随便定义,这里定义成 maven,是因为我的 aar 包是发布到 maven 仓库的,所以这里为了见名知义,定义成了 maven //...:用于配置 maven 仓库地址 地址可以配置多个,在执行 publish 任务的时候,就会把 aar 包发布到所有指定的 maven 仓库地址中去。
3.1 版本1 最普通的版本:直接写即可,简单解释一下:当我们编译上述文件的时候,会通过gcc -o main main.c add.c sub.c。...3.2 版本2 我们发现版本1太长了,如何把他进行优化,可以根据语言的特性,当然Makefile也有,那就是变量来赋值,将上述的所有.o文件赋值给obj变量,main赋值给target变量。...3.3 版本3 引入CC变量,在Makefile中有一些内置变量,比如这里要使用的CC,我们可以对其进行赋值修改,也可以直接使用,进一步修改版本2,进一步修改版本2,变为版本3。 ?...3.5 版本5 在使用Makefile的时候我们需要clean掉所有的.o文件跟中间文件,那么如何在Makefile中实现呢。...,而本地磁盘就是现成的,那么肯定和新的,就会出现上述结果。
由于自己之前使用的是Gradle构建工具,最近切到Maven有些不太适应,特别是在java和groovy混编时,在打包jar包的过程中出现问题,困扰了很久,在网上查了一些资料,都是引入build插件即可...,但是插件有的是eclipse的插件,进过分析和摸索终于得到了一个再intellij使用Maven打包混编项目的jar包的方法。...然后就是配置pom文件,分依赖和build两部分: org.codehaus.groovy lib/class-util-1.0.jar 路径是已经被打包到target/lib里的,多个包用空格隔开就可以了 --> <Class-Path...,如果本地jar包路径配置的地方报红,检查没问题的话可以不管,不影响打包编译。
从Spring-boot-maven-plugin谈起 对于SpringBoot打包的jar文件,只需要通过jar -jar一行命令便可以启动一个web项目,那springboot是如何做到的呢,这需要从...-0.0.1-SNAPSHOT.jar 打开上面jar的文件可以发现有如下东西: 通过查阅资料和学习,可以发现,Spring-boot-maven-plugin完成了几件对打包重要的事情: 1、生成核心的文件...使用百度翻译如下: 使用-jar参数时,后面的参数是jar的文件名称(本例子中是spring-boot-hello-0.0.1-SNAPSHOT.jar),该jar文件中包含的是class和资源文件;在...JarLauncher实际上是一个自定义ClassLoader,那么它核心作用就是:加载jar包的jar文件和class文件。...总结 Spring Boot应用打包之后,生成一个Fat jar,包含了应用依赖的jar包和Spring Boot loader相关的类。
或者 Bazel 是否适合我们呢?或者我们是否适合使用 Bazel 呢? 当前我们所用的主要语言是 Java ,构建工具为 Maven。...系统为服务化架构,每个 git 仓库构建一个应用包,不存在 Monorepo。 每个仓库构建都在分钟级别,平均三分钟。...如果要使用 Bazel 构建,我会考虑如下问题: 如何从 Maven 迁移到 Bazel?是否可以自动迁移? 我们的场景迁移之后是否会带来明显的构建效率提升?...Bazel 的生态是否完善? 如何约定统一的构建命令?CI 系统如何从 Maven 迁移到 Bazel? 如何让开发人员学会 Bazel ?学习曲线是否陡峭?...国内是否有 Bazel 的重度用户?
CertCrunchy是一款功能强大的网络侦查工具,该工具基于纯Python开发,广大研究人员可以利用该工具轻松从SSL证书中发现和识别潜在的主机信息。...支持的在线源 该工具支持从在线源或给定IP地址范围获取SSL证书的相关数据,并检索其中包含的目标主机相关信息,当前版本的CertCrunchy支持下列在线数据源: https://crt.sh/ https...工具安装 由于该工具基于Python 3开发,因此我们首先需要在本地设备上安装并配置好最新版本的Python 3环境。...requirements.txt文件安装该工具所需的其他依赖组件: cd CertCrunchy sudo pip3 install -r requirements.txt 工具使用 我们可以直接使用下列命令从指定域名获取主机名称...(-D): python certcrunchy.py -D TARGET 命令参数 -D:从域名列表中获取主机名称,列表中每个域名按行分隔; -i:从一个网络块或IP地址范围的主机获取并解析证书,
虽然后面我们已经意识到这个问题,对本地版需求新增加的ProtoBuf字段索引都增加了1000,以此避免冲突,但是历史已经放出去的版本也无法再修改。...Bazel则是更为现代化的构建工具:1)Bazel能够缓存所有以前完成的工作,并跟踪对文件内容和构建命令的更改,因此Bazel在构建时只对需要重建的部分进行构建;2)同时,Bazel支持项目以高度并行和增量的方式构建...下面是我们依赖的一些跨仓库组件的示意图:不同的组件由不同团队维护的流水线构建,最后以maven的形式集成到本地版企业微信APP中。当分支管理工具拉出一条新分支时,就会自动实例化各个业务组件的子流水线。...:Android版微信从300KB到30MB的技术演进[3] Android版微信安装包“减肥”实战记录[4] iOS版微信安装包“减肥”实战记录[5] 移动端IM实践:iOS版微信界面卡顿监测方案[6...文件损坏等[9] IM跨平台技术学习(九):全面解密新QQ桌面版的Electron内存优化实践[10] 企业微信针对百万级组织架构的客户端性能优化实践[11] 微信团队分享:微信后端海量数据查询从1000ms
其实早在NgConf 2019大会上,演讲者就已经提及了从工具到差分加载的许多内容以及更多令人敬畏的功能。下面是我对8.0.0一些新功能的简单介绍,希望可以帮助大家快速了解新版本。...正如Igor Minar所解释的那样,Bazel已经在内部使用了很长时间,现在可供所有人使用。您可以参考Bazel文档,并了解如何将其与Angular一起使用。...该团队现在在升级时添加了对$ location服务的支持。添加了angular/common/upgrade这个新包。 允许从位置服务检索状态的功能。 添加跟踪所有位置更改的功能。...从现在它已从包列表中删除。 配置ViewChild / ContentChild查询的时间 使用此功能时,必须提供静态标志以定义何时需要解析ViewChild和ContentChild实例。...包还是跟以前保持一样的。 结论 以上就是angular 8版本的一些改动。总体来说变化不是很大,延续了angular每年一个稳定版的习惯。 原文链接
1.Tensorflow的主要依赖包 (1) Protocol Buffer Protocol Buffer是谷歌开发的处理结构化数据的工具,类似于XML和JSON这两种比较常用的结构化数据处理工具。...Protcol Buffer序列化出来的数据要比XML格式的数据笑3到10倍,解析时间要快20到100倍。...(2)Bazel Bazel是谷歌开源的自动化构建工具,谷歌内部大部分的应用都是通过它来编译的。...相比传统的Makefile、Ant或者 Maven,Bazel在速度、可伸缩性、灵活性以及对不同程序语言和平台的支持上都要更加出色。...如果要支持GPU,那么还需要安装Nvidia的Cuda Tookit(版本大于等于7.0)和cuDNN(版本大于等于v2) (1) 使用Docker安装 Docker是新一代的虚拟化技术,他可以将TensorFlow
又不支持又想用咋办,后来经过网上查询了一下,我们可以自己使用TensorFlow的源代码来编译和构建一个TensorFlow的版本,这样的话就可以在不支持AVX指令集的机器上使用TensorFlow了。...于是我按照官网https://www.tensorflow.org/install/source给出的步骤来尝试从源码自己编译和构建TensorFlow。...在构建TensorFlow之前,我们要先做两件事: 下载TensorFlow的源码 下载和安装Bazel构建工具 在下载TensorFlow源码如果网速比较好的话,可以直接使用下面的命令从...接下来就是真正的编译环节了。首先我们进入到从GitHub中下载的TensorFlow源代码,并执行 ....是我自己定义的最终安装包输出的位置,结束后,我们可以cd到 /tmp/tensorflow_pkg目录中,查看里面的内容: ?
但这个库中并不包含Envoy自身的源代码,因此这个库在构建时会从Github上下载Envoy源码进行联合编译。 编译工具 Envoy采用了Bazel进行构建。...Bazel是一种高层构建语言,类似Make,Maven和Gradle。其特点是可读性较好,支持跨语言,跨平台编译;并且可以定义代码库之间的依赖关系,支持跨代码库的联合构建。...Bazel定义构建的依赖关系和规则,并管理构建生成的临时文件及二进制文件,具体的编译工作是调用各个语言的编译工具如GCC, JAVAC等完成的。...Package: 是一组用于相关文件的集合,该目录中包含一个BUILD文件,此文件中描述了该程序包的构建方式。 target: 生成的目标,一般是一个lib或者二进制文件。...target是一个构建规则(build rule)的实例,一般包含构建所需的源文件,构建目标的名称。rule还可以嵌套,一个rule的输出文件可以作为另一个rule的输入文件。
又不支持又想用咋办,后来经过网上查询了一下,我们可以自己使用TensorFlow的源代码来编译和构建一个TensorFlow的版本,这样的话就可以在不支持AVX指令集的机器上使用TensorFlow了。...在构建TensorFlow之前,我们要先做两件事: 下载TensorFlow的源码 下载和安装Bazel构建工具 在下载TensorFlow源码如果网速比较好的话,可以直接使用下面的命令从GitHub...接下来就是真正的编译环节了。首先我们进入到从GitHub中下载的TensorFlow源代码,并执行 ....是我自己定义的最终安装包输出的位置,结束后,我们可以cd到 /tmp/tensorflow_pkg目录中,查看里面的内容: 可以看到,我们最终的pip安装版本就已经完成,接下来我们就可以在命令行里输入下面的命令进行安装了...帮助读者轻松搞懂GAN\CNN\RNN等各式神经网络,真正完成AI从想法到产品的全过程。
Bazel 的优势 基于制品 (Artifact) 的构建系统 传统构建系统有很多是基于任务的,例如 Ant,Maven,Gradle。...除此之外,Bazel 也支持通过 1.0.0 这样的 SerVer 版本号来声明依赖,这是 Bazel6.0 版本加入的功能,也是官方推荐使用的,具体做法可以查看官网 相关部分。...如何高效使用 Bazel Bazel 为了正确性和高性能,做了很多优秀的设计,那么我们如何正确的使用这些能力,让我们的构建性能“起飞”呢, 我们将从本地研发和 CI pipeline 两种场景进行分析...使用时应该信任 bazel 的增量构建机制,即便是从远端仓库同步了代码,也可以直接 build,无须先通过 bazel build 清理环境。...总 结 本文从原理方面介绍了 Bazel 高性能的原因,从实践方面针对本地研发和 CI pipeline 两种场景给出了建议。
结果,自从发布以来,我们发现新版本(用户从 App Store 下载)的应用程序安装量有所增加。 问题是什么? 关于 Pinterest 的背景,我们使用 Bazel 进行 iOS 版本构建。...加入你不熟悉 Bazel,这篇文章值得一读。 要创建本地化文件,我们有一个 CI 作业,它在应用程序(通过 Bazel 查询)中自动扫描所有源代码,并将其发送给 Mojito 进行翻译。...每个扩展都是具有自己 BUILD 文件的模块。在 Bazel 构建后,它将本地化字符串从主应用包复制到每个扩展包。...长远规划 接下来,我们计划将本地化资源放入各自的 SDK/ 扩展中,而非依赖于应用包,这样做有以下好处: 每个包都将是自包含的,所以它不需要主应用程序包就能运行或测试本地化,并且可以被绑定到一个单独的应用程序中...在扩展代码中,NSLocalizedString 和本地化 API 按照自己的方式工作。 让包开源。
(我采用的)即本地安装, 当我们选择离线安装,当我们选定相对应的版本之后,下载的时候发现这个地方的文件大小大概在2G左右,Linux系统下面我们选择runfile(local) 完整安装包从本地安装,或者是选择...所以,NVIDIA显卡驱动和CUDA工具包本身是不具有捆绑关系的,也不是一一对应的关系,只不过是离线安装的CUDA工具包会默认携带与之匹配的最新的驱动程序。...一般情况下,我只需要安装最新版本的显卡驱动,然后根据自己的选择选择不同CUDA工具包就可以了,但是由于使用离线的CUDA总是会捆绑CUDA和驱动程序,所以在使用多个CUDA的时候就不要选择离线安装的CUDA.../cuda-toolkit-archive 1.3 如何查看自己所安装的CUDA的版本: (1)直接在NVIDIA的控制面板里面查看NVCUDA.DLL的版本。...平台下: 同windows类似,进入到安装目录,然后执行 cat version.txt 命令 1.4 如何查看自己的cuDNN的版本 因为cuDNN本质上就是一个C语言的H头文件, (1)在windows
Go社区集中关注包管理问题,并于2月开始探讨如何将包管理直接集成到Go工具链中。8月,我们首次粗略实现了这一功能,即Go模块,并在Go 1.11中引入。...这个新包自动适应GOPATH和模块模式,并且也可以扩展到特定于工具的代码布局,如Bazel所使用的布局。...作为这一努力的一部分,我们还在努力将各种源代码查询工具如gocode、godef和go-outline统一为一个工具,该工具可从命令行使用,并支持现代IDE使用的语言服务器协议。...我们还希望该服务允许使用简单查询查找包,以允许goimports为尚未下载到本地系统的包添加导入。...我们深入探讨了Go模块化的起源、发展及其在Go生态中的重要性。从Go 1.11到Go 1.12,再到工具和模块认证的进步,Go的模块化之旅充满挑战与机遇。
虽然后面我们已经意识到这个问题,对本地版需求新增加的ProtoBuf字段索引都增加了1000,以此避免冲突,但是历史已经放出去的版本也无法再修改。...在本地版的业务层中,本地版的ProtoBuf和Saas的ProtoBuf一起编译,由于不能存在包名和类名都一样的类,所以本地版的ProtoBuf包名都从wework修改成了weworklocal。...Bazel则是更为现代化的构建工具:Bazel能够缓存所有以前完成的工作,并跟踪对文件内容和构建命令的更改,因此Bazel在构建时只对需要重建的部分进行构建;同时,Bazel支持项目以高度并行和增量的方式构建...目前,本地版Android端的底层动态库已经全量换成使用Bazel构建,下面是其中一个构建脚本的例子: 6.2 分支管理 因为本地版需要面向很多大型政企用户,不同的政企可能会有不同的包名、不同的发布分支...下面是我们依赖的一些跨仓库组件的示意图: 不同的组件由不同团队维护的流水线构建,最后以maven的形式集成到本地版企业微信APP中。
这样就会出现一个问题,即构建是不可复制的,如果同一项目上的两个开发人员安装了不同版本的 Go SDK,则他们将构建不同的二进制文件。它还会中断远程执行,即主机的工具链可能在执行平台上不可用。...通过 $(bazel info output_base)/external/{工作区名称} 可以看到新建的工作区。...,对其进行解压缩,然后可以使用其中相关规则 http_file:从 URL 下载文件,并使其可用作文件组(file group) http_jar:从 URL 下载一个 .jar 扩展名包,并以 java_import...repository_ctx.extract :解压压缩包到指定目录 repository_ctx.file:创建一个可指定可执行属性的文件,并可写入内容 string repository_ctx.read...query @{工作区名称}//:* 4 使用 repository_rule 实现下载工具链 我们可以将 Bazel 配置为使用本地工具链,但是为了实现构建环境的可复制性,我们可以将工具链统一远端管理
作者:李继武 1 文档编写目的 从CDSW1.1.0开始支持GPU,具体可以参考Fayson之前的文章《如何在CDSW中使用GPU运行深度学习》,从最新的CDSW支持GPU的网站上我们可以查到相应的Nvidia...我们注意到CUDA的版本是9.2,但是目前官方发布的编译好的TensorFlow的CUDA版本还是9.0,为了在CDSW环境中让TensorFlow运行在GPU上,必须使用CUDA9.2,我们需要手动编译...这里,以编译TensorFlow1.8和TensorFlow1.12的版本为例,指定CUDA的版本为9.2,cudnn的版本为7.2.1。...2 安装编译过程中需要的包及环境 此部分两个版本的操作都相同 1.配置JDK1.8到环境变量中 ?...这部分编译不同的tensorflow版本需要安装不同版本的bazel,使用太新的版本有 时会报错。
领取专属 10元无门槛券
手把手带您无忧上云