支持UEFI EDK2固件开发的基于Python的工具

edk2-basetools的Python项目详细描述


Tianocore Edk2 Python BaseTools(edk2basetools)

这是一个由Tianocore维护的项目,由一个python源文件组成,这些源文件构成EDK2-basetools。这个包的目的是提供一种简单的方法来组织和共享python代码,以促进跨环境、工具和脚本的重用。包含此包和依赖关系管理最好使用Pip/Pypi进行管理。在

这是一个基本包,需要用于edk2构建。在

释放电流

PyPI

所有发布信息现在都可以通过Github进行跟踪 tagsreleasesmilestones。在

如何使用它

您有三种选择,从pypi安装,从GitHub直接安装,或者在本地安装。在

从PyPi安装

  1. 运行pip install edk2-basetools
  2. 在所有可能的情况下,您正在使用的项目有一个pip需求文件。只需运行pip install -r {requirements file}。在

从Git安装

  1. 运行pip install git+https://github.com/tianocore/edk2-basetools.git

或者,您可以像这样检查一个特定的提交

  1. 运行pip install git+https://github.com/tianocore/edk2-basetools.git@45dfb3641aa4d9828a7c5448d11aa67c7cbd7966当然,用你想要的哈希替换哈希

本地安装

  1. 在本地克隆repo
  2. 运行pip install -e .(您可能需要在windows的管理提示符下执行此操作)
  3. 运行edk2\u build以确保其正常工作
  4. 切换到具有必要挂钩的EDK2

这种方法的优点是,您对克隆的回购协议所做的任何更改都将得到反映。在

内容

该包包含的类和模块可以用作与UEFI固件开发人员相关的工具的构建块。 以前,它住在BaseTools/Source/Python下的EDK2 project on Github。在

许可证

此存储库中的所有内容都是在BSD-2-Clause Plus Patent License下授权的。在

PyPI - License

使用

注意:强烈建议您使用python虚拟环境。虚拟环境避免更改全局python工作区并导致相互冲突的依赖关系。虚拟环境轻量级且易于使用。Learn more

  • 要安装,请运行pip install --upgrade edk2-basetools

  • 在python代码中使用

    fromedk2basetools.<module>import<class>

出资过程

这个项目欢迎所有类型的捐款。 对于问题、bug和问题,最好打开github issue。在

代码贡献

对于代码贡献,此项目利用github请求。有关完整的描述,请参阅github教程、帮助和文档。 为了获得最佳成功,请遵循以下流程。在

  1. Contributor打开一个描述问题或新的所需功能的问题
  2. 贡献者在github中派生存储库
  3. Contributor为fork中的工作创建分支
  4. 贡献者根据需要进行代码更改、编写相关的单元测试、编写文档和发行说明。在
  5. 参与者在本地运行测试
  6. 贡献者向tianocore/edk2 basetools的主分支机构提交PR
    1. 公关评论员将提供关于变更的反馈。如果需要任何修改,contributor将进行更改并推送更新。在
    2. PR automation将运行并验证测试通过
    3. 如果所有的意见都解决了,维护人员批准了,测试通过了,PR将被维护人员压缩合并并关闭。在

维护人员

有关详细信息,请参阅github team。在

文件

请参阅github repodocs文件夹

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

推荐PyPI第三方库


热门话题
爪哇太阳报。安全验证器。ValidatorException:PKIX路径生成失败   java理解为什么在onDispatchTouchEvent()返回True后仍调用onClick()   java如何在资源包中使用JSF标记/如何在资源包中重写URL?   java什么是流控制异常的替代方案?   java使用Spring数据JPA/MongoDB交叉存储,一个查询可以跨越两个数据库吗?   Apache Sling/felix中的java OSGi slf4j日志记录   为什么当我们想要水平/垂直旋转矩阵时,我们要把这个项除以2?   尝试从外部网页接收JSON字符串时出现安卓 Java NullPointerException   java执行异常:从Callable调用方法时   java在jetty上以调试模式运行webapp,使用maven jetty插件在intellij中构建成功(应用程序应在调试模式下启动)   带有内存数据库的linux Java应用程序的构建时间太长   基于java的随机数单元测试算法   java类型javax。摆动JComponent无法解析   Google日历API和UI小部件Java   java tomcat没有突然和任意地响应   java无法使用jsoup在html中获取图像src   我无法让Java接受键盘输入字符串   java如何开始使用Bambol而不让部署永远继续?   java如何使用另一个类的actionPerformed方法删除一个类/组件中的按钮?   java JSON反序列化brakets{}中的一系列对象