支持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第三方库


热门话题
JavaMaven没有识别junit测试   正则表达式替换Java中字符串中的所有“(“and”)”   文件移动到另一台计算机时出现java错误“实例化servlet类”   服务器上的java服务   Spring数据JPA上的java嵌套@Transactional注释行为   eclipse中的Java Tomcat项目   java在Tomcat上部署web应用程序   如何解决“java.lang.IllegalStateException:ArrayAdapter要求资源ID为TextView”错误?   java在条形码上方添加文本,并使用烧烤更改字体大小   java与php基准测试   java使用正则表达式提取特定模式   java扫描器。findInLine()大量泄漏内存   java HTTP:差异请求属性和POST参数   返回空指针的Java方法?   java验证密码不包含名称中的3个以上连续字符   Java中带泛型的静态多态性   java在Android中获得最后一个已知位置   java为什么Groovy的Map比Array更具可伸缩性?   编码如何在Java中生成八进制字符串?   java Hibernate:使用单例会话写入日志(无刷新)