I am trying to install python package rpy2 with pip install on Ubuntu 16.04:

pip install rpy2==2.2.7

but get error message (see full output below):

Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-EuOI6K/unroll/

The same thing happens with other packages, like pip install unroll, or using pip2. I thought this post was the same issue, but there it gets resolved by using sudo.

Solutions tried

I tried solutions in this post, like: pip install --upgrade setuptools, (sudo) easy_install -U setuptools, or sudo apt-get install python-setuptools, but to no avail.

python/pip info

Someone suggested I might have a weird python/pip installation, here are a few infos:

sudo which python pip pip2 | xargs -rd '\n' readlink -f 
/usr/bin/python2.7   
/usr/local/bin/pip  
/usr/local/bin/pip2  

sudo python --version   
Python 2.7.12  

sudo pip --version  
pip 9.0.1 from /home/matifou/.local/lib/python2.7/site-packages (python 2.7)  
/usr/bin/pip2 --version  
pip 8.1.1 from /usr/lib/python2.7/dist-packages (python 2.7)

ls -l $(which pip); dpkg -S /usr/bin/pip
-rwxr-xr-x 1 root root 204 Nov  8 16:24 /usr/local/bin/pip
python-pip: /usr/bin/pip

Full error output

pip install rpy2==2.2.7  
Collecting rpy2==2.2.7   Using cached rpy2-2.2.7.tar.gz  
    Complete output from command python setup.py egg_info:
    running egg_info
    creating pip-egg-info/rpy2.egg-info
    writing pip-egg-info/rpy2.egg-info/PKG-INFO
    writing top-level names to pip-egg-info/rpy2.egg-info/top_level.txt
    writing dependency_links to pip-egg-info/rpy2.egg-info/dependency_links.txt
    writing manifest file 'pip-egg-info/rpy2.egg-info/SOURCES.txt'
    Traceback (most recent call last):
      File "", line 1, in 
      File "/tmp/pip-build-EkrbmM/rpy2/setup.py", line 462, in 
        [os.path.join('doc', 'source', 'rpy2_logo.png')])],
      File "/usr/lib/python2.7/distutils/core.py", line 151, in setup
        dist.run_commands()
      File "/usr/lib/python2.7/distutils/dist.py", line 953, in run_commands
        self.run_command(cmd)
      File "/usr/lib/python2.7/distutils/dist.py", line 972, in run_command
        cmd_obj.run()
      File "/usr/local/lib/python2.7/dist-packages/setuptools/command/egg_info.py",
line 280, in run
        self.find_sources()
      File "/usr/local/lib/python2.7/dist-packages/setuptools/command/egg_info.py",
line 295, in find_sources
        mm.run()
      File "/usr/local/lib/python2.7/dist-packages/setuptools/command/egg_info.py",
line 526, in run
        self.add_defaults()
      File "/usr/local/lib/python2.7/dist-packages/setuptools/command/egg_info.py",
line 562, in add_defaults
        sdist.add_defaults(self)
      File "/usr/local/lib/python2.7/dist-packages/setuptools/command/py36compat.py",
line 36, in add_defaults
        self._add_defaults_ext()
      File "/usr/local/lib/python2.7/dist-packages/setuptools/command/py36compat.py",
line 119, in _add_defaults_ext
        build_ext = self.get_finalized_command('build_ext')
      File "/usr/lib/python2.7/distutils/cmd.py", line 312, in get_finalized_command
        cmd_obj.ensure_finalized()
      File "/usr/lib/python2.7/distutils/cmd.py", line 109, in ensure_finalized
        self.finalize_options()
      File "/tmp/pip-build-EkrbmM/rpy2/setup.py", line 155, in finalize_options
        config += get_rconfig(r_home, about)
      File "/tmp/pip-build-EkrbmM/rpy2/setup.py", line 319, in get_rconfig
        rc = RConfig.from_string(rconfig, allow_empty = allow_empty)
      File "/tmp/pip-build-EkrbmM/rpy2/setup.py", line 279, in from_string
        + '\nin string\n' + string)
    ValueError: Invalid substring
    -fopenmp
    in string
    -Wl,--export-dynamic -fopenmp -Wl,-Bsymbolic-functions -Wl,-z,relro -L/usr/lib/R/lib -lR -lpcre -llzma -lbz2 -lz -lrt -ldl -lm

Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-EkrbmM/rpy2/

pip install unroll
Collecting unroll   Using cached unroll-0.1.0.tar.gz
    Complete output from command python setup.py egg_info:
    Downloading http://pypi.python.org/packages/source/d/distribute/distribute-0.6.14.tar.gz
    Traceback (most recent call last):
      File "", line 1, in 
      File "/tmp/pip-build-QimGjp/unroll/setup.py", line 2, in 
        ez_setup.use_setuptools()
      File "/usr/local/lib/python2.7/dist-packages/ez_setup.py", line 145, in use_setuptools
        return _do_download(version, download_base, to_dir, download_delay)
      File "/usr/local/lib/python2.7/dist-packages/ez_setup.py", line 124, in _do_download
        to_dir, download_delay)
      File "/usr/local/lib/python2.7/dist-packages/ez_setup.py", line 193, in download_setuptools
        src = urlopen(url)
      File "/usr/lib/python2.7/urllib2.py", line 154, in urlopen
        return opener.open(url, data, timeout)
      File "/usr/lib/python2.7/urllib2.py", line 435, in open
        response = meth(req, response)
      File "/usr/lib/python2.7/urllib2.py", line 548, in http_response
        'http', request, response, code, msg, hdrs)
      File "/usr/lib/python2.7/urllib2.py", line 473, in error
        return self._call_chain(*args)
      File "/usr/lib/python2.7/urllib2.py", line 407, in _call_chain
        result = func(*args)
      File "/usr/lib/python2.7/urllib2.py", line 556, in http_error_default
        raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
    urllib2.HTTPError: HTTP Error 403: SSL is required

Command "python setup.py egg_info" failed with error code 1 in tmp/pip-
build-QimGjp/unroll/
  • Is R already installed? – lapisdecor Nov 11 '17 at 19:41
  • 1
    Try running it with the -H flag like sudo -H – George Udosen Nov 19 '17 at 15:03
  • Sorry but this is too messy for me to feel like helping someone untangle it at the moment. Even with the bounty. Thanks for your reminders though. – David Foerster Nov 19 '17 at 20:10
  • Thanks @George, but unfortunately even sith the sudo -H it does not work :-( – Matifou Nov 22 '17 at 21:21

you need to get setup tools and probably dev modules type the following

sudo apt-get install python-setuptools
sudo apt-get install python-dev

it may make sense to upgrade pip first to ensure there's nothing but smooth running this is done by typing

sudo apt install python-pip

good luck

  • 1
    Thanks. But I actually already have these three installed, to their newest version... – Matifou Nov 12 '17 at 17:31

The version of python-setuptools in the package repository of Ubuntu 16.04 LTS is out-of-date / unmaintained. Upgrade it with pip instead of relying on the package manager:

$ sudo pip install --upgrade setuptools

Solution I took for my own question: the answers proposed did not solve the issue, so I ended up using conda, creating a specific environment for the package I needed, and this worked! This is now the best solution, especially as it requires to install a parallel version (thou one can use miniconda for space) but is a practical one!

Your Answer

 

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.