3

我在/local/gerrit/python2.7. 我想将此升级到 Python 2.7.3。我正在尝试为此使用 pip,但不知何故它似乎在 python2 和 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

看起来/local/gerrit/python2.7/build/python/setup.py实际上有一个 python3 语法,有些东西搞砸了。我的诊断正确吗?如何以不需要重新安装 Python 及其所有库的方式清理它?

4

2 回答 2

1

您可能需要使用类似pythonz的东西来管理同一台机器上的多个 python 安装。

然后,当您使用诸如 virtualenv 之类的东西时,您将希望将它们指向您安装的二进制文件,您将拥有一个带有特定 python 副本的可用 virtualenv

virtualenv -p /path/to/python

于 2013-02-17T21:57:42.167 回答
0

另一种选择是pyenv,它是 pythonz 的替代品。它的优点是不依赖于 Python 本身。

于 2014-12-30T00:30:39.593 回答