ipython: pip install error
when running
pip install ipython
i get
Collecting ipython
Using cached ipython-5.3.0-py2-none-any.whl
Collecting pickleshare (from ipython)
Using cached pickleshare-0.7.4-py2.py3-none-any.whl
Collecting simplegeneric>0.8 (from ipython)
Collecting traitlets>=4.2 (from ipython)
Using cached traitlets-4.3.2-py2.py3-none-any.whl
Collecting backports.shutil-get-terminal-size; python_version == "2.7" (from ipython)
Using cached backports.shutil_get_terminal_size-1.0.0-py2.py3-none-any.whl
Collecting decorator (from ipython)
Using cached decorator-4.0.11-py2.py3-none-any.whl
Collecting pygments (from ipython)
Using cached Pygments-2.2.0-py2.py3-none-any.whl
Requirement already satisfied: pexpect; sys_platform != "win32" in /usr/lib/python2.7/dist-packages (from ipython)
Collecting pathlib2; python_version == "2.7" or python_version == "3.3" (from ipython)
Using cached pathlib2-2.2.1-py2.py3-none-any.whl
Requirement already satisfied: setuptools>=18.5 in /usr/local/lib/python2.7/dist-packages (from ipython)
Collecting prompt-toolkit<2.0.0,>=1.0.4 (from ipython)
Using cached prompt_toolkit-1.0.14-py2-none-any.whl
Requirement already satisfied: enum34; python_version == "2.7" in /usr/lib/python2.7/dist-packages (from traitlets>=4.2->ipython)
Requirement already satisfied: six in /usr/lib/python2.7/dist-packages (from traitlets>=4.2->ipython)
Collecting ipython-genutils (from traitlets>=4.2->ipython)
Using cached ipython_genutils-0.2.0-py2.py3-none-any.whl
Collecting scandir; python_version < "3.5" (from pathlib2; python_version == "2.7" or python_version == "3.3"->ipython)
Using cached scandir-1.5.tar.gz
Requirement already satisfied: appdirs>=1.4.0 in /usr/local/lib/python2.7/dist-packages (from setuptools>=18.5->ipython)
Requirement already satisfied: packaging>=16.8 in /usr/local/lib/python2.7/dist-packages (from setuptools>=18.5->ipython)
Collecting wcwidth (from prompt-toolkit<2.0.0,>=1.0.4->ipython)
Using cached wcwidth-0.1.7-py2.py3-none-any.whl
Requirement already satisfied: pyparsing in /usr/local/lib/python2.7/dist-packages (from packaging>=16.8->setuptools>=18.5->ipython)
Building wheels for collected packages: scandir
Running setup.py bdist_wheel for scandir ... error
Complete output from command /usr/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-mGtqyq/scandir/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d /tmp/tmpzPzH0bpip-wheel- --python-tag cp27:
running bdist_wheel
running build
running build_py
creating build
creating build/lib.linux-x86_64-2.7
copying scandir.py -> build/lib.linux-x86_64-2.7
running build_ext
building '_scandir' extension
creating build/temp.linux-x86_64-2.7
x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -Wdate-time -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security -fPIC -I/usr/include/python2.7 -c _scandir.c -o build/temp.linux-x86_64-2.7/_scandir.o
_scandir.c:14:20: fatal error: Python.h: No such file or directory
#include <Python.h>
^
compilation terminated.
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
----------------------------------------
Failed building wheel for scandir
Running setup.py clean for scandir
Failed to build scandir
Installing collected packages: scandir, pathlib2, pickleshare, simplegeneric, decorator, ipython-genutils, traitlets, backports.shutil-get-terminal-size, pygments, wcwidth, prompt-toolkit, ipython
Running setup.py install for scandir ... error
Complete output from command /usr/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-mGtqyq/scandir/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-kVFdnD-record/install-record.txt --single-version-externally-managed --compile:
running install
running build
running build_py
creating build
creating build/lib.linux-x86_64-2.7
copying scandir.py -> build/lib.linux-x86_64-2.7
running build_ext
building '_scandir' extension
creating build/temp.linux-x86_64-2.7
x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -Wdate-time -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security -fPIC -I/usr/include/python2.7 -c _scandir.c -o build/temp.linux-x86_64-2.7/_scandir.o
_scandir.c:14:20: fatal error: Python.h: No such file or directory
#include <Python.h>
^
compilation terminated.
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
----------------------------------------
Command "/usr/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-mGtqyq/scandir/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-kVFdnD-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-mGtqyq/scandir/
About this issue
- Original URL
- State: closed
- Created 7 years ago
- Comments: 28 (6 by maintainers)
That’s unrelated to IPython, the issue comes from installing scandir, you should see that with the scandir maintainers.
If you are missing Python.h during compilation that’s likely because you are missing the Python header. If you are going to compile c-extensions (which you do implicitly by install in scandir) you may want to install the Python headers (
apt-get install python-dev
maybe ?).It’s really strange for yum to have
python34-devel.x86_64
and not the equivalent for Python 2.7.To fix your immediate problem, you can download and install the Python 2.7 development package directly from the CentOS repo at http://mirror.centos.org/centos/7/os/x86_64/Packages/python-devel-2.7.5-58.el7.x86_64.rpm. Then you can
scp
it over and install it as follows:In the long run, you’ll probably want to add the CentOS repositories to yum so you can get the other yum packages you’re interested in. See https://techglimpse.com/configure-yum-rhel-centos-repository/.
For CentOS users, I did 'yum groupinstall ‘development tool’ and was able to install ipython(just installing python-devel, did not work) though I think you need to just account for the c-extensions as noted by Carreau
Seems like a PATH variable issue. Might want to do a “whereis Python.h” If one or more paths come up, add the directory (without the filename) to your PATH variable. Otherwise, you’ve got bigger problems, and we need to figure out how to get the header files on your machine.
Sure thing! Sorry about the delay. pip v9.0.1 setuptools v28.8.0
I should clarify that I installed all of the other dependencies in addition to scandir directly with pip before running the successful jupyter installation.
Also, for completeness,
python v2.7.13:a06454b1afa1, Dec 17 2016, 20:53:40, MSC v.1500 64 bit (AMD64) Windows 10, Version 1703 (OS Build 15063.540)
On Windows, “pip install jupyter” was unable to install scandir. But “pip install scandir” succeeded. And “pip install jupyter” subsequently succeeded.