python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > Python安装pygit2失败

Python安装pygit2失败问题及解决

作者:巴啦啦魔仙变!!

这篇文章主要介绍了Python安装pygit2失败问题及解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

Python安装pygit2失败

报错输出

这是最后一部分输出

  In file included from src/blob.c:30:0:
  src/blob.h:33:10: fatal error: git2.h: 没有那个文件或目录
   #include <git2.h>
            ^~~~~~~~
  compilation terminated.
  error: command 'gcc' failed with exit status 1
  ----------------------------------------
  ERROR: Failed building wheel for pygit2
Failed to build pygit2
ERROR: Could not build wheels for pygit2 which use PEP 517 and cannot be installed directly

原因

我是因为Python的版本太低了。

现在是3.6,我更新到3.9后就好了。更新命令

 conda update python

python调用gitpython,遇到gitpython库不支持的复杂命令或个性命令时的解决

需求

在执行git log命令时,git中支持诸如:

git log --pretty=format:"%H,%an,%cd" “D:\your_target_file_path”> D:/test/log_data/log.csv

但是当我们希望通过python批量拉取自定义repo的时候

我们发现gitpython时,并不支持这类非常规命令(如果有知道如何使用非常规命令的小伙伴在评论区指出)

这个时候我们可以通过python+cmd的思路来解决这个问题


在这里插入图片描述

Git_Log.py

import subprocess

# microsoftdocs/azure-docs-sdk-python
RepoFullName = input(str("请输入Repo:"))
RepoFullName_split = RepoFullName.split("/")
repo_file = RepoFullName_split[0]+"_"+RepoFullName_split[1]
cmd1 = "cd \\"
cmd2 = "D:"
cmd3 = "cd test"
cmd5 = "cd {}".format(repo_file)
cmd6 = "git init"
cmd8 = "git checkout -b baymax_branch"
cmd14 = """git log --pretty=format:"%H,%an,%cd" > D:/test/log_data/log_{}.csv""".format(repo_file)
cmd = cmd1 + " && " + cmd2 + " && " + cmd3 + " && " + \
      cmd5 + " && " + cmd6 + " && " + cmd8 + " && " + cmd14

subprocess.Popen(cmd, shell=True)

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文