Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python coverage是在Windows上安装的,在Python3.8下没有C扩展,但在Python3.7下没有,我如何强制C扩展版本?_Python_Coverage.py - Fatal编程技术网

Python coverage是在Windows上安装的,在Python3.8下没有C扩展,但在Python3.7下没有,我如何强制C扩展版本?

Python coverage是在Windows上安装的,在Python3.8下没有C扩展,但在Python3.7下没有,我如何强制C扩展版本?,python,coverage.py,Python,Coverage.py,我在同一台Windows10机器上安装了python 3.7.5和python 3.8。它们都是从python.org/downloads安装的。当我运行pip安装覆盖率(使用最新版本的pip)时,它会在3.7.5下安装带有c扩展的覆盖率,在3.8.2下安装不带c扩展的覆盖率 我如何强制覆盖率使用c扩展安装,因为没有c扩展性能很差 它出现在3.7.5下载: 其中as 3.8.2下载: 覆盖率-5.0.3.tar.gz 后者是“没有c扩展”目前没有适用于Windows和Python 3.8的有效

我在同一台Windows10机器上安装了python 3.7.5和python 3.8。它们都是从python.org/downloads安装的。当我运行pip安装覆盖率(使用最新版本的pip)时,它会在3.7.5下安装带有c扩展的覆盖率,在3.8.2下安装不带c扩展的覆盖率

我如何强制覆盖率使用c扩展安装,因为没有c扩展性能很差

它出现在3.7.5下载:

其中as 3.8.2下载: 覆盖率-5.0.3.tar.gz


后者是“没有c扩展”

目前没有适用于Windows和Python 3.8的有效
覆盖范围

标记为与cp38-cp38m-win_amd64兼容,因此CPython 3.8与用于64位窗口的
cp38m
ABI变体兼容

但是,现在已经没有这种ABI变体了。Python3.8不再有
m
--with pymalloc
)二进制变量,因为

Pip也采取了同样的做法,并创建了这些分发文件的
wheel
项目

然而,
coverage.py
使用的是,他们使用的是
0.33.1
,而上面的更改已经生效。你已经知道了,我也在那里添加了我的发现

幸运的是,这面旗帜是肤浅的。您可以直接从PyPI下载控制盘文件,重命名该文件(从
cp38m
中删除
m
),然后使用
pip安装路径/to/rename/coverage-5.0.3-cp38-cp38m-win_amd64.whl


注意:同样的问题也适用于3.9控制盘。

您安装了什么版本?我看到coverage.py,包括3.7和3.8(甚至3.9!),所以也许只需要重新安装?最初我是使用诗歌安装的,后来我使用pip安装的。两者都安装了5.0.3版。当我为3.7安装时,它安装了4.5.4Try running
pip install——强制重新安装——仅二进制:all:-v coverage
以要求选择二进制(wheel)发行版,并详细告知您pip正在查找和决定什么。是的,4.5.4没有3.8个wheel,无论如何也不适用于Windows,在没有开关的情况下运行
pip install
,不会升级已安装的旧版本。如果安装了4.5.x,您将无法获得带有3.8轮子的5.0.x版本。