-
-
Notifications
You must be signed in to change notification settings - Fork 448
coverage regression with Python 3.7 ? #679
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
@0LL13 Can you verify for me the versions of coverage you have running in each Python version? "coverage --version" should do it. In particular, that will tell me whether you are using the C tracer (fast) or the Python tracer (slow). |
(vEnv)$ coverage --version |
@0LL13 Can you upgrade to the latest version? 4.0.3 is over 2.5 years old. The latest version is 4.5.1. Once you've done that, if there is still a difference in performance, show the coverage version for each Python environment. Thanks. |
|
Thanks. Now can you add "coverage --version" to the tox.ini [commands] section, so that we can see the coverage version for each of the different Python versions? |
I did that and now as command[2] there is: py36 runtests: commands[2] | coverage --version Otherwise no change. |
@0LL13 I don't know how else to say this: I need to see the version of coverage for each Python version. I suspect that Python 3.7 is running with the Python extension, not the C extension. |
Sorry for the delay. You were absolutely right: ppy35 runtests: commands[0] | check-manifest py36 runtests: commands[0] | check-manifest py37 runtests: commands[0] | check-manifest Otherwise the same output as above. |
Thanks. 4.5.1 doesn't have a wheel for 3.7, so it tries to install from source. Perhaps you don't have the needed python-dev packages installed? http://coverage.readthedocs.io/en/coverage-4.5.1a/install.html#c-extension |
frodo@theshire:~$ sudo apt-get install python3-dev gcc (vEnv)frodo@theshire:pdf2textbox$ python -m coverage --version Coverage is only within the virtualenv for my project. |
Confirming that Solution for my case:
|
OK, I've uploaded wheels for v4.5.1 for Python 3.7 on mac and manylinux to pypi. Let me know if that solves the problem. Thanks for all the details. |
I believe this change has broken folks using
|
(vEnv)$ pip uninstall coverage No change in py.test --cov time for Python 3.7 |
@cardoe I don't understand how uploading a new file that never existed before could break an installation. Can you provide more details? What was the old hash computed from, and what is the new hash computed from? @0LL13 Looks like that wheel you installed was for Python 3.6. Can you double-check that you are installing for 3.7? |
@nedbat It came from running |
@cardoe I guess I understand what is happening. I'm not sure what I can do about it. Uploading new wheels for new Python versions seems like a net positive to me. Perhaps you should re-create your Pipfile.lock file? I'm not sure what the pipenv authors would recommend. |
@nedbat It seems that wheel works fine now for py37. Thanks a lot! coverage comes with C extension via
As for pipenv: I am not using it right now but I guess that the only solution is to recreate |
I asked about pipenv in the pipenv repo: pypa/pipenv#2618 |
I can confirm that recreation of Pipfile.lock followed by pipenv install --dev will solve. Thanks @cardoe for noticing this issue. Thank you! |
I guess you need these lines, if not I need advice how to do it: (vEnv)$ tox Times are as before. |
@0LL13 Can you try |
Cool. (vEnv)$ tox --recreate tests/test_cli_slice_option.py ... [ 20%] ----------- coverage: platform linux, python 3.7.0-final-0 ----------- =============================== slowest test durations ================================ |
@0LL13 looks like it's all fixed. :) |
Yep :) |
Hi, sorry for reviving this issue, but are there C extensions for Python 3.7 on windows?
|
@coffeebenzene Right, there are no windows 3.7 files at the moment. I can try to build them, but something is wrong at AppVeyor, and it is difficult to diagnose. |
@coffeebenzene ah, but they are here: https://www.lfd.uci.edu/~gohlke/pythonlibs/#coverage . Perhaps I will upload those. |
@coffeebenzene I uploaded those .whl to pypi. You should be all set. |
Thanks! |
I posted a question on Stackoverflow because the time for my tests running with coverage and Python 3.7 were about 8 times longer than with Python 3.5 and 3.6. Hoefling suggested I run the tests without coverage and times for testing were about the same for the different versions. Hoefling suggested that it might be a coverage regression and that I post an issue.
The text was updated successfully, but these errors were encountered: