我正在尝试安装最新版本的六个python包,但我有以下问题。在mac OSX 10.10.2
中无法摆脱六个1.4.1sudo pip install six --upgrade
Requirement already up-to-date: six in /Library/Python/2.7/site-packages
Cleaning up...
pip search six
six - Python 2 and 3 compatibility utilities
INSTALLED: 1.9.0 (latest)
python -c "import six; print six.version"
1.4.1
which -a python
/usr/bin/python
which -a pip
/usr/local/bin/pip
这里有什么问题?无法升级六个!
答案 0 :(得分:23)
我通过以下方法解决了这个问题。
python setup.py install
这是有效的,因为它将新版本的6安装到 /Library/Python/2.7/site-packages / ,在 /System/Library/Frameworks/Python.framework/之前搜索版本/ 2.7 /附加/ LIB /蟒/ 强>
答案 1 :(得分:16)
您的pip
二进制文件属于/usr/local/bin/python
,而python
二进制文件属于/usr/bin/python
。结果
pip install --upgrade six
将安装到/usr/local/bin/python
。
以下命令将确保使用正确版本的pip:
python -m pip install --upgrade six
答案 2 :(得分:16)
对我来说,只需使用homebrew修复所有内容。
brew install python
答案 3 :(得分:15)
对我有用的是使用easy_install
代替pip
。
easy_install -U six
即使pip失败,Easy_install也设法升级了包。
答案 4 :(得分:11)
Mac OS X&#39的默认python作为框架安装。
在框架目录下,有一个' Extras'目录和six
包已放在那里。
/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/six.py
根据说明(https://github.com/MacPython/wiki/wiki/Which-Python),/System/Library/Frameworks/Python.framework/Versions/2.7/Extras
列在模块搜索路径中的/Library/Python/2.7/site-packages
之前。
这意味着/System/Library/Frameworks/Python.framework/Versions/2.7/Extras
中已存在的所有包都无法升级。
也许你应该手动安装python而不是使用默认的python。
答案 5 :(得分:4)
使用pip安装openstack客户端时遇到了这个问题。我的修复是使用easy_install而不是pip,因为它使用/Library/Python/2.7/site-packages/
来代替/System/Library/Frameworks/Python.framework/Versions/2.7/Extras
进行模块安装。如果这个解决方法不适合您,那么我可以确认@Masakazu Matsushita有正确的解决方法,将PYTHONPATH
设置为/Library/Python/2.7/site-packages
。要实现该解决方法,请添加以下行:
export PYTHON_PATH=/Library/Python/2.7/site-packages
到您的~/.bashrc
和~/.profile
(如果它是您尝试安装的GUI Python应用程序)。
答案 6 :(得分:3)
尝试以下步骤
使用brew重新安装python
<template>
<h1>{{ msg }}</h1>
<input v-model="msg">
<button v-on:click="get">Call Server</button>
</template>
<script>
export default {
data: function() {
return {
msg: 'Hello World!'
}
},
methods: {
get: function() {
// GET request
this.$http({
url: 'localhost:8090',
method: 'GET'
}).then(function(response) {
console.log('ok');
}, function(response) {
console.log('failed');
});
}
}
}
</script>
解决缺少的符号链接问题
$ brew install python
重启系统或运行
$ brew link --overwrite python
答案 7 :(得分:3)
尝试使用pip2为我工作 pip2安装-U六
答案 8 :(得分:1)
虽然上述解决方案中的一个或另一个可能对您有用,但我认为理解发生了什么以及您有哪些选择非常重要。我发现this(相当冗长)的描述非常有用:它首先概述了选项,然后才建议解决方案。
答案 9 :(得分:1)
最后,问题在于我使用的是IPython shell。
which ipython
返回/usr/local/bin/ipython
,经过检查,此文件在顶部#!/usr/bin/python
处声明,这似乎正在绕过我尽最大努力使用正确的python位置。
只需将此行#!/usr/local/bin/python
更改为指向正确的python版本,即表示IPython使用了正确的six
模块。