question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Missing wheels for readthedocs environment

See original GitHub issue

Describe the bug

Since the release of 0.24 readthedocs crashes during the installation of scikit-learn. Prior to 0.24, it would simply install scikit-learn using the available wheel scikit_learn-0.23.2-cp37-cp37m-manylinux1_x86_64.whl. There are no wheels for manylinux1 since 0.24, only manylinux2010. I guess that is why readthedocs fails to find a compatible wheel and try installing from source instead.

Complete logs for last successful build of readthedocs: https://readthedocs.org/projects/orion/builds/12473944/

Installed /home/docs/checkouts/readthedocs.org/user_builds/orion/envs/latest/lib/python3.7/site-packages/orion-0.1.10.post1+g9f8a4aa-py3.7.egg
Processing dependencies for orion==0.1.10.post1+g9f8a4aa
Searching for scikit-learn
Reading https://pypi.org/simple/scikit-learn/
Downloading https://files.pythonhosted.org/packages/f4/cb/64623369f348e9bfb29ff898a57ac7c91ed4921f228e9726546614d63ccb/scikit_learn-0.23.2-cp37-cp37m-manylinux1_x86_64.whl#sha256=da8e7c302003dd765d92a5616678e591f347460ac7b53e53d667be7dfe6d1b10
Best match: scikit-learn 0.23.2
Processing scikit_learn-0.23.2-cp37-cp37m-manylinux1_x86_64.whl
Installing scikit_learn-0.23.2-cp37-cp37m-manylinux1_x86_64.whl to /home/docs/checkouts/readthedocs.org/user_builds/orion/envs/latest/lib/python3.7/site-packages
writing requirements to /home/docs/checkouts/readthedocs.org/user_builds/orion/envs/latest/lib/python3.7/site-packages/scikit_learn-0.23.2-py3.7-linux-x86_64.egg/EGG-INFO/requires.txt
Adding scikit-learn 0.23.2 to easy-install.pth file

Complete logs of first failing build of readthedocs: https://readthedocs.org/projects/orion/builds/12473944/

Installed /home/docs/checkouts/readthedocs.org/user_builds/orion/envs/latest/lib/python3.7/site-packages/orion-0.1.10.post3+gea90a9e-py3.7.egg
Processing dependencies for orion==0.1.10.post3+gea90a9e
Searching for scikit-learn
Reading https://pypi.org/simple/scikit-learn/
Downloading https://files.pythonhosted.org/packages/f9/98/7a46eb605191918b777796ce5792be83ce9d2a739340be7d21d423fcfaf4/scikit-learn-0.24.0rc1.tar.gz#sha256=d4737b5bd2180c71453b5b1baa47f5ee2ed941d1bdda8eee6a9274d6f9e4b503
Best match: scikit-learn 0.24.0rc1
Processing scikit-learn-0.24.0rc1.tar.gz
Writing /tmp/easy_install-jtb4m3p0/scikit-learn-0.24.0rc1/setup.cfg
Running scikit-learn-0.24.0rc1/setup.py -q bdist_egg --dist-dir /tmp/easy_install-jtb4m3p0/scikit-learn-0.24.0rc1/egg-dist-tmp-56qidrrm
Partial import of sklearn during the build process.
Traceback (most recent call last):
  File "/tmp/easy_install-jtb4m3p0/scikit-learn-0.24.0rc1/setup.py", line 201, in check_package_status
    module = importlib.import_module(package)
  File "/home/docs/checkouts/readthedocs.org/user_builds/orion/envs/latest/lib/python3.7/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 965, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'numpy'
Traceback (most recent call last):
  File "/home/docs/checkouts/readthedocs.org/user_builds/orion/envs/latest/lib/python3.7/site-packages/setuptools/sandbox.py", line 154, in save_modules
    yield saved
  File "/home/docs/checkouts/readthedocs.org/user_builds/orion/envs/latest/lib/python3.7/site-packages/setuptools/sandbox.py", line 195, in setup_context
    yield
  File "/home/docs/checkouts/readthedocs.org/user_builds/orion/envs/latest/lib/python3.7/site-packages/setuptools/sandbox.py", line 250, in run_setup
    _execfile(setup_script, ns)
  File "/home/docs/checkouts/readthedocs.org/user_builds/orion/envs/latest/lib/python3.7/site-packages/setuptools/sandbox.py", line 45, in _execfile
    exec(code, globals, locals)
  File "/tmp/easy_install-jtb4m3p0/scikit-learn-0.24.0rc1/setup.py", line 305, in <module>
  File "/tmp/easy_install-jtb4m3p0/scikit-learn-0.24.0rc1/setup.py", line 291, in setup_package
  File "/tmp/easy_install-jtb4m3p0/scikit-learn-0.24.0rc1/setup.py", line 227, in check_package_status
ImportError: numpy is not installed.
scikit-learn requires numpy >= 1.13.3.
Installation instructions are available on the scikit-learn website: http://scikit-learn.org/stable/install.html

Any idea why the supported platform wheels changed since 0.24?

Also it looks like I am not the only one affected: https://stackoverflow.com/questions/65776380/readthedocs-trouble-with-sklearn-umap

Issue Analytics

  • State:closed
  • Created 3 years ago
  • Comments:7 (4 by maintainers)

github_iconTop GitHub Comments

1reaction
astrojuanlucommented, Apr 12, 2021

Hi @bouthilx and subscribed readers! Just stumbled upon this comment while I was looking for something else.

As mentioned in the docs, it’s either python setup.py install or pip install .. When not using a configuration file (which was your case in master), RTD defaults to the former, which in turn triggered easy_install, I believe. Feel free to open an issue if you find more annoyances or weird things 👍

1reaction
bouthilxcommented, Jan 22, 2021

Thanks for the quick response! The build has been consistently failing for more than a month so it was not bad luck. I fixed the issue on my side yesterday by changing the configuration of readthedocs so that it installs with pip: https://github.com/Epistimio/orion/pull/542. That is why it is passing now.

In any case I’m sure adding the manylinux1 wheels will solve the issue for many others, so I would leave this issue open until #19235 is merged.

Thanks again!

Read more comments on GitHub >

github_iconTop Results From Across the Web

Tips and tricks - cibuildwheel - Read the Docs
See the cibuildwheel version 1 docs for information about building Python 2.7 or PyPy2 wheels. There are lots of tricks and workaround there...
Read more >
wheel Documentation - Read the Docs
No matter the path, all the matching license files are written in the wheel in the .dist-info directory based on their file name...
Read more >
Python wheels proxy - Divio Documentation
The wheels proxy in Aldryn Django applications# ... This makes use of an environment variable WHEELS_PLATFORM set in the build environment by the...
Read more >
pip install - pip documentation v22.3.1
Local file (a sdist or wheel format archive, following the naming conventions for those ... Prior to v6.1.0, pip made no commitments about...
Read more >
Using wheel files with conda
If you have software in a Python wheel file and want to use it with conda or install it in a conda environment,...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found