Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I thought this would be simple, but I think I'm missing something easy.

I have python 2.7 installed in Ubuntu 12.04 via apt. I grabbed the source for python 2.6 and compiled it. I now have the following structure.

ll /usr/bin/python*
lrwxrwxrwx 1 root root       9 Apr 17  2012 /usr/bin/python -> python2.7*
lrwxrwxrwx 1 root root       9 Apr 17  2012 /usr/bin/python2 -> python2.7*
-rwxr-xr-x 1 root root 2799288 Aug  1 00:46 /usr/bin/python2.7*
-rwxr-xr-x 1 root root    1652 Aug  1 00:45 /usr/bin/python2.7-config*

/usr/local/bin$ ll
total 9120
drwxr-xr-x  2 root root    4096 Dec 17 20:35 ./
drwxr-xr-x 10 root root    4096 Oct  7  2010 ../
-rwxrwxr-x  1 root root     111 Dec 17 15:39 2to3*
-rwxr--r--  1 root root     246 Jan 19  2012 fixvpnroute*
-rwxrwxr-x  1 root root      99 Dec 17 15:39 idle*
-rwxrwxr-x  1 root root      84 Dec 17 15:39 pydoc*
-rwxr-xr-x  2 root root 4637487 Dec 17 20:35 python*
-rwxr-xr-x  2 root root 4637487 Dec 17 20:35 python2.6*
-rwxr-xr-x  1 root root    1424 Dec 17 20:35 python2.6-config*
lrwxrwxrwx  1 root root      16 Dec 17 20:35 python-config -> python2.6-config*
-rwxrwxr-x  1 root root   18233 Dec 17 15:39*
-rwxr-xr-x  1 root root     316 Dec 17 15:54 virtualenv*
-rwxr-xr-x  1 root root     324 Dec 17 15:54 virtualenv

I installed virtualenv using pip before installing python 2.6. Now, when I try to use virtualenv, I get an error.

sudo virtualenv -p /usr/local/bin/python2.6 testproject
Running virtualenv with interpreter /usr/local/bin/python2.6
New python executable in testproject/bin/python2.6
Not overwriting existing python script testproject/bin/python (you must use testproject/bin/python2.6)
Installing setuptools.............
  Complete output from command /home/greg/Projects/...roject/bin/python2.6 -c "#!python

" --always-copy -U setuptools:
  -c:67: DeprecationWarning: the md5 module is deprecated; use hashlib instead
Traceback (most recent call last):
  File "<string>", line 67, in <module>
  File "/usr/local/lib/python2.6/", line 10, in <module>
    from hashlib import md5
  File "/usr/local/lib/python2.6/", line 138, in <module>
    sha224 = __get_builtin_constructor('sha224')
  File "/usr/local/lib/python2.6/", line 66, in __get_builtin_constructor
    import _sha256
ImportError: No module named _sha256
...Installing setuptools...done.
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/", line 2560, in <module>
  File "/usr/local/lib/python2.7/dist-packages/", line 964, in main
  File "/usr/local/lib/python2.7/dist-packages/", line 1074, in create_environment
    search_dirs=search_dirs, never_download=never_download)
  File "/usr/local/lib/python2.7/dist-packages/", line 611, in install_setuptools
    search_dirs=search_dirs, never_download=never_download)
  File "/usr/local/lib/python2.7/dist-packages/", line 583, in _install_req
  File "/usr/local/lib/python2.7/dist-packages/", line 1042, in call_subprocess
    % (cmd_desc, proc.returncode))
OSError: Command /home/greg/Projects/...roject/bin/python2.6 -c "#!python

" --always-copy -U setuptools failed with error code 1

So then I tried to install setuptools with pip, but...

sudo pip install setuptools
Requirement already satisfied (use --upgrade to upgrade): distribute in /usr/lib/python2.7/dist-packages
Cleaning up.

So, I think my issue has to do with running pip in the context of python 2.6, but I'm not sure how to do that. Am I on track? ..


Recompiling Python 2.6 with the sha modules uncommented was the solution.

In the source directory, I edited Modules/Setup, and uncommented these lines.

# The _sha module implements the SHA checksum algorithms.
# (NIST's Secure Hash Algorithms.)
_sha shamodule.c
_sha256 sha256module.c
_sha512 sha512module.c

Then reran configure and make install.

share|improve this question

migrated from Dec 18 '12 at 7:17

This question came from our site for professional and enthusiast programmers.

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Browse other questions tagged or ask your own question.