回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我有Ubuntu18.04和gcc版本7</p>
<p>我使用备选方案将gcc更新到了版本8,并将我的gcov版本也修改到了gcc,以保持它们的兼容性(这在nicley中起到了作用),但是<code>gcovr</code>本身在版本3.4上卡住了,它需要~4.x版本</p>
<pre class="lang-sh prettyprint-override"><code> sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 700 \
--slave /usr/bin/g++ g++ /usr/bin/g++-7 \
--slave /usr/bin/gcov gcov /usr/bin/gcov-7
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-8 800 \
--slave /usr/bin/g++ g++ /usr/bin/g++-8 \
--slave /usr/bin/gcov gcov /usr/bin/gcov-8
</code></pre>
<p>我进行了一些挖掘,我认为gcovr只是一个python脚本。我安装了Python2.7,也安装了python.36</p>
<p>我尝试使用pip安装gcovr:</p>
<pre class="lang-sh prettyprint-override"><code>sudo -H pip install gcovr
Requirement already satisfied: gcovr in /usr/lib/python2.7/dist-packages
</code></pre>
<p>此网站显示我需要的版本:<a href="https://gcovr.com/en/stable/installation.html" rel="nofollow noreferrer">here</a></p>
<p>相关表格如下:</p>
<pre><code>Python gcovr
2.6 3.4
3.4 4.1
</code></pre>
<p>所以我知道我想要什么,我需要去哪里,但我不知道如何去那里。我认为我的pip install命令调用了python2.7pip(我的python知识基本上为零),因此我感觉需要调用python3.6的pip来获得我想要的gcovr版本(可能离这里很远)。知道我有各种版本的python,我的默认版本似乎是2.7:<code>python --version: 2.7</code></p>
<p>有什么线索可以告诉我如何更新gcovr(甚至我的python版本默认为3.x)</p>
<h3>更新1</h3>
<p>我走得更远了一点。我安装了python替代方案:</p>
<pre><code>sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 1
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 2
</code></pre>
<p>现在我可以在Python2.x和3.x之间切换。当我将python设置为3.x并尝试安装gcovr时,我得到:</p>
<pre class="lang-sh prettyprint-override"><code>sudo -H pip install gcovr
Collecting gcovr
Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:852)'),)': /simple/gcovr/
Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:852)'),)': /simple/gcovr/
Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:852)'),)': /simple/gcovr/
Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:852)'),)': /simple/gcovr/
Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:852)'),)': /simple/gcovr/
Could not find a version that satisfies the requirement gcovr (from versions: )
No matching distribution found for gcovr
</code></pre>
<p>我想我可以下载一个更新版本的gcovr脚本</p>