Mac OS X无法再使用pip安装软件包

时间:2016-10-12 14:50:55

标签: python macos python-2.7 pip

我完全搞砸了我的Python环境。我的第一个大错误是始终使用sudo安装软件包而不使用虚拟环境。我不确定发生了什么,但在某些时候我不能再安装某些软件包,可能是因为一些依赖性问题。

我决定删除我用pip安装的所有软件包,遗憾的是这并没有帮助。然后我决定卸载pip本身,我实际上试图自己卸载python。

后来我发现问题可能是因为我在我的机器上安装了多个python版本。

当我尝试卸载Python时,我删除了位于/Library/Frameworks/Python.framework

中的2.7框架版本

如果我使用/Library/Frameworks/Python.framework/Versions,我只有3.3的文件夹。 在/usr/local/bin中没有python2.7,只有python3。 在/System/Library/Frameworks/Python.framework/Versions/中,仍然有一个2.7文件夹。

如果我致电which python,我会:/usr/bin/python

这就是我现在的位置:默认的python版本是2.7.5,我可以使用我在系统范围内使用sudo安装的软件包,如果我使用默认的python版本。但有些包装并未完全安装,例如scikit-learn缺少所有模块,scipy也缺少一些功能。例如。这是我导入sklearn时得到的结果:

In [2]: dir(sklearn)
Out[2]: 
['__SKLEARN_SETUP__',
 '__all__',
 '__builtins__',
 '__check_build',
 '__doc__',
 '__file__',
 '__name__',
 '__package__',
 '__path__',
 '__version__',
 'base',
 'clone',
 'exceptions',
 'externals',
 're',
 'setup_module',
 'sys',
 'utils',
 'warnings']

这是Python查找包的路径:

['',
 '/usr/local/bin',
 '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python27.zip',
 '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7',
 '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin',
 '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac',
 '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages',
 '/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python',
 '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk',
 '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-old',
 '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload',
 '/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/PyObjC',
 '/Library/Python/2.7/site-packages',
 '/Library/Python/2.7/site-packages/setuptools-28.3.0-py2.7.egg',
 '/Library/Python/2.7/site-packages/pip-8.1.2-py2.7.egg',
 '/Library/Python/2.7/site-packages/IPython/extensions',
 '/Users/bastiannaber/.ipython']

正如我之前所说的/System/Library/Frameworks/Python.framework/Versions/2.7在我的系统上不再存在。 /Library/Python/2.7/site-packages确实存在。

有人能告诉我我现在正在使用哪个python版本吗?我该如何解决这些问题呢?我不应该在/System/Library/Frameworks/Python.framework/Versions中拥有默认版本。有人可以告诉我如何解决我的python环境吗?

1 个答案:

答案 0 :(得分:2)

系统Python位于Concatenate this string with this vector: 1,2,3,而不是"%+%" <- function(...) { dots = list(...) dots = rapply(dots, paste, collapse = ",") paste(dots, collapse = "") } "Concatenate this string " %+% "with this string." # [1] "Concatenate this string with this string." "Concatenate this string " %+% "with this vector: " %+% 1:3 # [1] "Concatenate this string with this vector: 1,2,3" ,正如您在运行/usr/bin/时所指出的那样。输入/usr/local/bin/,它应该告诉您正在运行的版本。

关于你的Python环境,我建议你使用系统环境,因为你不小心删除了Python。我建议您安装Homebrew,然后安装which python。这也将为您提供python --version,它将作为新版本单独存在于您的系统python和pip中。