2

由于控制台一直使用 1.4.1 版本的 Six 而不是 1.9,我的 python 中有一些依赖问题。

所以,在我的 python IDLE 上:

>>> import six
>>> six.__version__
'1.4.1'

但在我的点子上:

$ pip freeze
six==1.9.0

如何强制我的 IDLE 使用正确的版本?

我尝试使用 pip 卸载和安装。

从 python -v 输出,然后导入六个

# /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/six.pyc matches /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/six.py
import six # precompiled from /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/six.pyc
dlopen("/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload/operator.so", 2);
import operator # dynamically loaded from /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload/operator.so
# /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/StringIO.pyc matches /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/StringIO.py
import StringIO # precompiled from /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/StringIO.pyc
4

3 回答 3

1

Manually install six again (Installing Python Module Six). Sometimes pip is not reliable.

于 2015-03-20T15:40:16.107 回答
1

您正在使用来自不同版本的 pip 和 python,pip 来自/Library/[...]而您的 python 来自/System/Library/[...]您可以使用 python from/Library/[...]或 pip from /System/Library/[...]。您也可以使用 use virtualenv。从文档中:

virtualenv 是一个创建隔离 Python 环境的工具。[...] 它创建了一个有自己的安装目录的环境,它不与其他 virtualenv 环境共享库(并且可选地也不访问全局安装的库)。

于 2015-03-20T15:36:30.567 回答
1

确保当前工作目录或 pythonpath 目录中没有剩余的 Six.pyo / Six.pyc 文件。

于 2016-06-17T08:45:23.880 回答