OSx 更新后如何修复损坏的 python 2.7.11

Posted

技术标签:

【中文标题】OSx 更新后如何修复损坏的 python 2.7.11【英文标题】:How to fix broken python 2.7.11 after OSx updates 【发布时间】:2016-03-22 01:46:47 【问题描述】:

发生了什么:

在 OSx 更新并安装新版本的 python 2.7 之后,我的 virtualevn 环境完全崩溃了,我很难修复它。我不确定是什么原因造成的,并经历了我所做的一整套事情,并且最初读到不起作用如下所列。答案部分提供了解决我问题的方法。

没有找到解决virtualenv 命令的问题:

通过homebrew安装python,然后用pip安装virtualenv 通过https://www.python.org安装python,然后用pip安装virtualenv

对我有帮助但没有为我的问题提供解决方案的相关问题:

    virtualenv-command-not-found virtualenv-workon-command-not-found

我经历的完全手动恢复(不该做什么!):

这并没有完全解决我的问题。这只是为了让您了解在我找到在我的 OSx 上修复我的 python 开发环境的正确方法之前我经历了哪些步骤。

使用here 中的帖子删除了python 2.7 删除了 homebrew 安装版本 通过Mac OS X 32-bit i386/PPC installer或Mac OS X 64-bit/32-bit installer中的pkg文件安装python

按照here 的说明手动安装 virtualenv:

 curl -O https://pypi.python.org/packages/source/v/virtualenv/virtualenv-13.1.2.tar.gz
 tar xvfz virtualenv-13.1.2.tar.gz 
 cd virtualenv-13.1.2 
 sudo python setup.py install

通过7手动安装pip: curl --silent --show-error --retry 5 https://bootstrap.pypa.io/get-pip.py |须藤python2.7

PIP 在这一切之后仍然被破坏:

在创建虚拟环境之后,我的 pip 仍然将包安装在主 python 文件夹中,而不是在虚拟环境下安装它们,并且非线程 here 也没有 here 帮助。我的解决方案是使用以下选项在我的虚拟环境下运行 pip: 1-激活虚拟环境以便设置$VIRTUAL_ENV

source venv/bin/activate

2- 强制 pip 安装在正确的目的地:

pip install --target=$VIRTUAL_ENV/lib/python2.7/site-packages   

总结

这个问题的答案提供了我修复开发环境的最佳方法。

【问题讨论】:

我刚刚从 Time Machine 恢复并升级到最新版本的 Sierra 后遇到了这个问题。任何使用 python 的东西都会导致错误python --version Illegal instruction: 4,重新安装后它似乎又可以工作了。 在这里找到解决方案***.com/questions/25372911/python-pip-error-on-osx/… 【参考方案1】:

在执行brew upgrade python 之后,我的系统 python 坏了,并且对 virtualenvwrapper.sh 大发雷霆,而我的 pip 命令突然丢失了。 我去了 python.org 并下载了 python 2.7.13 安装程序,运行它,我现在有 python 2.7.13,pip,可以运行pip install virtualenvwrapper,一切似乎都可以工作。

【讨论】:

【参考方案2】:

原因

在我的情况下,OSx 升级影响了我的自制软件,升级到 python 2.7.11 后没有正确安装它。

我是如何让它工作的:

我在线程 here 中找到了第 3 步和第 4 步,非常感谢https://github.com/baronomasia。

1 - 使用 here 中的帖子删除了 python 2.7

2 - 删除了 homebrew python 安装版本

brew uninstall python

3- 重新安装您的 Xcode 命令工具:

sudo xcode-select --install

4- 升级 homebrew 并通过 homebrew 重新安装 python:

brew update && brew reinstall python    

【讨论】:

对于第 2 步,我必须添加 --force 标志。即 brew uninstall python --force 当我运行 pip2 时,我尝试修复我的“命令“python setup.py egg_info”失败,错误代码为 1”错误,但它似乎没有工作。不知道是否还有其他人遇到这个损坏的点子问题? 另外,要删除符号链接,您可以使用以下命令:cd /usr/local/bin/ 然后,ls -l /usr/local/bin | grep '../Library/Frameworks/Python.framework/Versions/2.7' | awk 'print $9' | tr -d @ | xargs rm

以上是关于OSx 更新后如何修复损坏的 python 2.7.11的主要内容,如果未能解决你的问题,请参考以下文章

设置默认 python 2.7。

在 OS X 和 XCode 更新后,PhoneGap iOS 应用程序损坏

如何使用 Python 2.7 在 Windows 上修复 pip 安装证书问题? [复制]

如何修复我的 TortoiseSVN 存储库中的损坏?

Matplotlib 无法在 OSX 上使用 Python 2.7 和 Django

OpenCV Python - 修复损坏的文本