python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > python调用git出错

python调用git出错的解决

作者:小菜菜最菜

这篇文章主要介绍了python调用git出错的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

python调用git出错

#报错信息
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "C:\Python27\lib\site-packages\git\__init__.py", line 85, in <module>
    raise ImportError('Failed to initialize: {0}'.format(exc))
ImportError: Failed to initialize: Bad git executable.
The git executable must be specified in one of the following ways:
    - be included in your $PATH
    - be set via $GIT_PYTHON_GIT_EXECUTABLE
    - explicitly set via git.refresh()
All git commands will error until this is rectified.
This initial warning can be silenced or aggravated in the future by setting the
$GIT_PYTHON_REFRESH environment variable. Use one of the following values:
    - quiet|q|silence|s|none|n|0: for no warning or exception
    - warn|w|warning|1: for a printed warning
    - error|e|raise|r|2: for a raised exception
Example:
    export GIT_PYTHON_REFRESH=quiet

#出错原因:git环境变量设置问题
#简便解决办法:在导入包的上方增加以下代码
import os
os.environ["GIT_PYTHON_REFRESH"] = "quiet"

python版本不当造成git不能使用

1,git错误(原因是python3软链接由python3.6修改为python3.8了)

root@zjx:/work/share/01-mypipeline# git clone https://gitee.com/ilovevenus/mypipeline.git
Traceback (most recent call last):
  File "/usr/lib/command-not-found", line 27, in <module>
    from CommandNotFound.util import crash_guard
ModuleNotFoundError: No module named 'CommandNotFound'

2,查看python安装情况

root@zjx:/work/share/01-mypipeline# ll /usr/bin/python*
lrwxrwxrwx 1 root root       9 4月  16  2018 /usr/bin/python -> python2.7*
lrwxrwxrwx 1 root root       9 4月  16  2018 /usr/bin/python2 -> python2.7*
-rwxr-xr-x 1 root root 3624880 7月   1 23:56 /usr/bin/python2.7*
lrwxrwxrwx 1 root root      22 9月  29 15:12 /usr/bin/python3 -> /work/py/bin/python3.8*
-rwxr-xr-x 1 root root 4526456 11月  7  2019 /usr/bin/python3.6*
-rwxr-xr-x 1 root root 4526456 11月  7  2019 /usr/bin/python3.6m*
lrwxrwxrwx 1 root root      10 9月  29 14:14 /usr/bin/python3m -> python3.6m*

3,删除软链接并重新设置软链接,问题解决

root@zjx:/work/share/01-mypipeline# rm /usr/bin/python3
root@zjx:/work/share/01-mypipeline# ln -s /usr/bin/python3.6 /usr/bin/python3
root@zjx:/work/share/01-mypipeline# python3
Python 3.6.9 (default, Nov  7 2019, 10:44:02)
[GCC 8.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> exit()

总结

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

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