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 

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
      File "/usr/lib/python2.7/distutils/dist.py", line 953, in run_commands
      File "/usr/lib/python2.7/distutils/dist.py", line 972, in run_command
      File "/usr/local/lib/python2.7/dist-packages/setuptools/command/egg_info.py",
line 280, in run
      File "/usr/local/lib/python2.7/dist-packages/setuptools/command/egg_info.py",
line 295, in find_sources
      File "/usr/local/lib/python2.7/dist-packages/setuptools/command/egg_info.py",
line 526, in run
      File "/usr/local/lib/python2.7/dist-packages/setuptools/command/egg_info.py",
line 562, in add_defaults
      File "/usr/local/lib/python2.7/dist-packages/setuptools/command/py36compat.py",
line 36, in add_defaults
      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
      File "/usr/lib/python2.7/distutils/cmd.py", line 109, in ensure_finalized
      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
    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 
      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-
  • Is R already installed?
    – lapisdecor
    Nov 11, 2017 at 19:41
  • 1
    Try running it with the -H flag like sudo -H Nov 19, 2017 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. Nov 19, 2017 at 20:10
  • Thanks @George, but unfortunately even sith the sudo -H it does not work :-(
    – Matifou
    Nov 22, 2017 at 21:21

4 Answers 4


Upgrade setuptools using pip

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
  • 1
    This solved my issue with in bionic, cheers. Oct 29, 2020 at 17:11

Updating setuptools did not resolve my issue. However, telling pip to upgrade itself did.

The following command resolved my issue (from this answer)

pip install --upgrade pip
  • Thanks, upgrading setuptools also did not work for me. But upgrading pip solves the problem.
    – fsevenm
    Mar 21, 2020 at 9:50

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 not the best solution, especially as it requires to install a parallel version (thou one can use miniconda for space) but is a practical one!


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, 2017 at 17:31

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