Trying to upgrade Python 2.7.0 to Python 2.7.3 using pip: SyntaxError; confused between python2 and python3?

I have a Python 2.7.0 installation in virtualenv in /local/gerrit/python2.7

. I would like to upgrade it to Python 2.7.3. I'm trying to use pip to do this, but somehow it gets confused between python2 and python3:

$ pip install --upgrade 'python>=2.7,<2.7.99'
Downloading/unpacking python>=2.7,<2.7.99 from http://www.python.org/ftp/python/2.7.3/Python-2.7.3.tar.bz2
  Running setup.py egg_info for package python
    Traceback (most recent call last):
      File "<string>", line 16, in <module>
      File "/local/gerrit/python2.7/build/python/setup.py", line 1804
        exec(f.read(), globals(), fficonfig)
    SyntaxError: unqualified exec is not allowed in function 'configure_ctypes' it contains a nested function with free variables
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):

  File "<string>", line 16, in <module>

  File "/local/gerrit/python2.7/build/python/setup.py", line 1804

    exec(f.read(), globals(), fficonfig)

SyntaxError: unqualified exec is not allowed in function 'configure_ctypes' it contains a nested function with free variables

----------------------------------------
Command python setup.py egg_info failed with error code 1 in /local/gerrit/python2.7/build/python
Storing complete log in /storage4/home/gerrit/.pip/pip.log

      

It looks like it /local/gerrit/python2.7/build/python/setup.py

has python3 syntax and something is messed up. Is my diagnosis correct? How can I clean it up so that I don't have to reinstall Python and all its libraries?

+3


source to share


2 answers


You will most likely need to use something like pythonz , which manages multiple python installations on the same machine.

Then when you use things like virtualenv you will want to point them to the binary you installed like this and you will have a working virtual disk with that particular copy of python



virtualenv -p /path/to/python

+1


source


Another option is pyenv , an alternative to pythonz. This has the advantage of not being dependent on Python itself.



0


source







All Articles