bottleneck: 'ERROR: Could not build wheels for bottleneck which use PEP 517 and cannot be installed directly'
Hi, I’m installing Bottleneck by fastai lib in a Suse 12 sp4 server, but had the error when building wheels for it. It says that uses PEP517 and cannot be installed directly. Funny thing is that I had it installed on my (base) but when I move to my app env it just jams on the error. There is a way to solve it? Thanks in advance!
(pycamlar) (base) filholf@127.0.0.1:~/pycamlar> pip install --no-cache-dir Bottleneck
Collecting Bottleneck
Downloading https://files.pythonhosted.org/packages/62/d0/55bbb49f4fade3497de2399af70ec0a06e432c786b8623c878b11e90d456/Bottleneck-1.3.1.tar.gz (88kB)
|████████████████████████████████| 92kB 1.1MB/s
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing wheel metadata ... done
Requirement already satisfied: numpy in ./pycamlar/lib/python3.7/site-packages (from Bottleneck) (1.17.4)
Building wheels for collected packages: Bottleneck
Building wheel for Bottleneck (PEP 517) ... error
ERROR: Command errored out with exit status 1:
command: /home/filholf/pycamlar/pycamlar/bin/python /home/filholf/pycamlar/pycamlar/lib/python3.7/site-packages/pip/_vendor/pep517/_in_process.py build_wheel /tmp/tmpzdoiga7s
cwd: /tmp/pip-install-gx8dza5k/Bottleneck
Complete output (122 lines):
running bdist_wheel
running build
running build_py
creating build
creating build/lib.linux-x86_64-3.7
creating build/lib.linux-x86_64-3.7/bottleneck
copying bottleneck/__init__.py -> build/lib.linux-x86_64-3.7/bottleneck
copying bottleneck/_pytesttester.py -> build/lib.linux-x86_64-3.7/bottleneck
copying bottleneck/_version.py -> build/lib.linux-x86_64-3.7/bottleneck
creating build/lib.linux-x86_64-3.7/bottleneck/benchmark
copying bottleneck/benchmark/__init__.py -> build/lib.linux-x86_64-3.7/bottleneck/benchmark
copying bottleneck/benchmark/autotimeit.py -> build/lib.linux-x86_64-3.7/bottleneck/benchmark
copying bottleneck/benchmark/bench.py -> build/lib.linux-x86_64-3.7/bottleneck/benchmark
copying bottleneck/benchmark/bench_detailed.py -> build/lib.linux-x86_64-3.7/bottleneck/benchmark
creating build/lib.linux-x86_64-3.7/bottleneck/slow
copying bottleneck/slow/__init__.py -> build/lib.linux-x86_64-3.7/bottleneck/slow
copying bottleneck/slow/move.py -> build/lib.linux-x86_64-3.7/bottleneck/slow
copying bottleneck/slow/nonreduce.py -> build/lib.linux-x86_64-3.7/bottleneck/slow
copying bottleneck/slow/nonreduce_axis.py -> build/lib.linux-x86_64-3.7/bottleneck/slow
copying bottleneck/slow/reduce.py -> build/lib.linux-x86_64-3.7/bottleneck/slow
creating build/lib.linux-x86_64-3.7/bottleneck/src
copying bottleneck/src/__init__.py -> build/lib.linux-x86_64-3.7/bottleneck/src
copying bottleneck/src/bn_config.py -> build/lib.linux-x86_64-3.7/bottleneck/src
copying bottleneck/src/bn_template.py -> build/lib.linux-x86_64-3.7/bottleneck/src
creating build/lib.linux-x86_64-3.7/bottleneck/tests
copying bottleneck/tests/__init__.py -> build/lib.linux-x86_64-3.7/bottleneck/tests
copying bottleneck/tests/input_modification_test.py -> build/lib.linux-x86_64-3.7/bottleneck/tests
copying bottleneck/tests/list_input_test.py -> build/lib.linux-x86_64-3.7/bottleneck/tests
copying bottleneck/tests/memory_test.py -> build/lib.linux-x86_64-3.7/bottleneck/tests
copying bottleneck/tests/move_test.py -> build/lib.linux-x86_64-3.7/bottleneck/tests
copying bottleneck/tests/nonreduce_axis_test.py -> build/lib.linux-x86_64-3.7/bottleneck/tests
copying bottleneck/tests/nonreduce_test.py -> build/lib.linux-x86_64-3.7/bottleneck/tests
copying bottleneck/tests/reduce_test.py -> build/lib.linux-x86_64-3.7/bottleneck/tests
copying bottleneck/tests/scalar_input_test.py -> build/lib.linux-x86_64-3.7/bottleneck/tests
copying bottleneck/tests/util.py -> build/lib.linux-x86_64-3.7/bottleneck/tests
UPDATING build/lib.linux-x86_64-3.7/bottleneck/_version.py
set build/lib.linux-x86_64-3.7/bottleneck/_version.py to '1.3.1'
running build_ext
running config
compiling '_configtest.c':
#pragma GCC diagnostic error "-Wattributes"
int __attribute__((optimize("O3"))) have_attribute_optimize_opt_3(void*);
int main(void)
{
return 0;
}
gcc -pthread -B /home/filholf/miniconda3/compiler_compat -Wl,--sysroot=/ -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -c _configtest.c -o _configtest.o
failure.
removing: _configtest.c _configtest.o
compiling '_configtest.c':
#ifndef __cplusplus
static inline int static_func (void)
{
return 0;
}
inline int nostatic_func (void)
{
return 0;
}
#endif
int main(void) {
int r1 = static_func();
int r2 = nostatic_func();
return r1 + r2;
}
gcc -pthread -B /home/filholf/miniconda3/compiler_compat -Wl,--sysroot=/ -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -c _configtest.c -o _configtest.o
failure.
removing: _configtest.c _configtest.o
compiling '_configtest.c':
#ifndef __cplusplus
static __inline__ int static_func (void)
{
return 0;
}
__inline__ int nostatic_func (void)
{
return 0;
}
#endif
int main(void) {
int r1 = static_func();
int r2 = nostatic_func();
return r1 + r2;
}
gcc -pthread -B /home/filholf/miniconda3/compiler_compat -Wl,--sysroot=/ -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -c _configtest.c -o _configtest.o
failure.
removing: _configtest.c _configtest.o
compiling '_configtest.c':
#ifndef __cplusplus
static __inline int static_func (void)
{
return 0;
}
__inline int nostatic_func (void)
{
return 0;
}
#endif
int main(void) {
int r1 = static_func();
int r2 = nostatic_func();
return r1 + r2;
}
gcc -pthread -B /home/filholf/miniconda3/compiler_compat -Wl,--sysroot=/ -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -c _configtest.c -o _configtest.o
failure.
removing: _configtest.c _configtest.o
building 'bottleneck.reduce' extension
creating build/temp.linux-x86_64-3.7
creating build/temp.linux-x86_64-3.7/bottleneck
creating build/temp.linux-x86_64-3.7/bottleneck/src
gcc -pthread -B /home/filholf/miniconda3/compiler_compat -Wl,--sysroot=/ -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/tmp/pip-build-env-i9jvt975/overlay/lib/python3.7/site-packages/numpy/core/include -I/home/filholf/miniconda3/include/python3.7m -Ibottleneck/src -c bottleneck/src/reduce.c -o build/temp.linux-x86_64-3.7/bottleneck/src/reduce.o -O2
error: command 'gcc' failed with exit status 1
----------------------------------------
ERROR: Failed building wheel for Bottleneck
Running setup.py clean for Bottleneck
Failed to build Bottleneck
ERROR: Could not build wheels for Bottleneck which use PEP 517 and cannot be installed directly
About this issue
- Original URL
- State: closed
- Created 5 years ago
- Reactions: 31
- Comments: 56
On further investigation, I found this https://github.com/pypa/pip/issues/6256 which suggests the issue is that wheels simply aren’t supported with PEP 517 builds. My best guess would be to
pip install --upgrade pip setuptools wheel
and that should resolve the issue.harshikanu’s suggestion worked for me. I’d like to expand on it a little bit
and that should successfully update wheel and allow you to install bottleneck
Downgrading the pip version sorted the issue for me : pip install pip==18.1
This answer helped me fatal error: Python.h: No such file or directory .
Thanks to @corysm1th for the
bottleneck/src/bottleneck Python.h: No such file or directory
insight! 😃@bayesfactor I think you need to have the latest version of python installed.
I’m receiving a same error and using python:3.6-slim docker image, I fixed it by installing gcc inside the container.
same error using ubuntu:18.04 with minconda and python==3.7; fixed by installing build-essential.
Another way to resolve this is to download Windows SDK 10 (latest version). If this alone doesn’t work then download Visual Studio 2019 (again whichever is the latest version). This updates the wheel process.
I tried the upgrade, but stills returning the wheel problem. I’m totally able to install it at base.
But as a quick update, I solved installing Anaconda instead of miniconda, but not sure about the relation of both or even what was the problem with miniconda. Could it be a repair when I uninstalled/installed.
I got the same issue when I execute:
$ pipenv install bottleneck
I solved the problem with:
$ python3.7 -m pipenv install bottleneck
OS: Ubuntu 18.04 LTS Python: 3.7 Pip: 20.0.2 Bottleneck: 1.3.2
@rhandberg I had the same issue on CentOS. My output contained the following error:
bottleneck/src/bottleneck.h:6:20: fatal error: Python.h: No such file or directory #include <Python.h> ^
Which I solved by installing the python3 sourceyum install -y python3-devel
Hi, I solved this issue by downloading appropriate version of line_profiler from: https://www.lfd.uci.edu/~gohlke/pythonlibs/#line_profiler and then installing it using “pip install your_package_version_.whl” Hope that it would help
https://github.com/pydata/bottleneck/issues/281#issuecomment-601697777
Same here, in a dockerfile from python:3.7-slim-buster adding RUN apt-get update && apt-get install -y build-essential solves the issue
Edit: On a linux server (as opposed to the docker image above) i also had to install python3.6-dev
QUICK UPDATE I took some time to research the internet about:
PEP517
have some problems withvirtualenvs
but i already tried--no-use-pep517
with no success and still retrying an error.I was having the same problem for Mac: ERROR: Failed building wheel for pycairo While installing cairo into a virtual env. I solved by running:
first: brew install cairo pkg-config then: pip install cairo
For alpine I needed
apk add gcc libc-dev g++
Use
sudo
I am using python version - 3.6.0 still, I am getting error like
Failed building wheel for bottleneck Running setup.py clean for bottleneck Failed to build bottleneck Could not build wheels for bottleneck which use PEP 517 and cannot be installed directly
Hi All, having troubles installing fancyImpute ???
Open the atched file : [requirements.txt]
(https://github.com/pydata/bottleneck/files/6956991/requirements.txt)
Install each dependency in the txt file separately:
Since, i have noticed the cvxpy gives the error when installing:
ERROR: Failed building wheel for scs Failed to build scs ERROR: Could not build wheels for scs which use PEP 517 and cannot be installed directly
Then: use the following command to install it:
conda install -c conda-forge cvxpy
finally then 👍
pip install fancyimpute
#281
So you must select the “c++ build tools” in the top left of your screenshot before installing. For the c++ build tools I left the install as the default checkboxes
I solved with
I’m having the same issue. OS: Windows 10 Python : 3.8 pip:19.2.3 Bottleneck:1.3.2
I have also installed Build Tools for Visual Studio 2019.
For alpine linux i fixed with: apk add gcc libc-dev
check it with apt or etc in your linux distribution
for windows I installed c++ complier solved this problem
That is correct, solved the issue the same way by installing gcc inside my linux container: apt-get update apt-get install build-essential
So I’m an anaconda user who has been having the same problem with PEP517 using pip install. I tried “conda install bottleneck” and the installation just went through successfully.
I think this might be the case for anaconda users since I have been having similar inexplicable errors when trying to pip install other packages on my anaconda environment.
I have the same problem!
I had the same problem with coincurve, and the solution was unbelievably easy!
I simply installed the lowest version that meets my needs. And it worked!
The latest version was 15.0.1 and I installed version 4.4.0 without any error.
how to install gcc inside the container?
Note that on windows, after downloading “Visual Studio Build Tools 2019” from https://visualstudio.microsoft.com/visual-cpp-build-tools/ you must click modify and select and install the c++ build tools
Fixed my problem installing mysqlclient on python virtual environment by:
sudo apt install libpython3.x-dev # replace x with your version of python
OS: Ubuntu 16 Python: 3.6
Same error in
alpine:latest
image withpython 3.8
andpip-19.2.3