我刚从MacPorts切换到HomeBrew。在安装了所有必需的XCode版本和其他软件之后,我尝试使用自制软件安装python:我认为它已成功安装,但是当我which python
时,它仍然显示2.7.3我认为是Mountain Lion附带的版本。
which python
/usr/local/bin/python
python --version
Python 2.7.3
所以我尝试重新安装
brew install python --framework --universal
Warning: python-2.7.5 already installed, it's just not linked
但是它说python 2.7.5已经安装而没有链接,我试着做brew link python
这导致我跟随消息,所以我不知道我应该做什么:
链接/usr/local/Cellar/python/2.7.5 ...警告:无法链接python。解除连结...
Error: Could not symlink file: /usr/local/Cellar/python/2.7.5/bin/smtpd2.py
Target /usr/local/bin/smtpd2.py already exists. You may need to delete it.
To force the link and overwrite all other conflicting files, do:
brew link --overwrite formula_name
To list all files that would be deleted:
brew link --overwrite --dry-run formula_name
答案 0 :(得分:29)
用brew install python3
安装python3之后
我收到了错误:
Error: An unexpected error occurred during the `brew link` step
The formula built, but is not symlinked into /usr/local
Permission denied @ dir_s_mkdir - /usr/local/Frameworks
Error: Permission denied @ dir_s_mkdir - /usr/local/Frameworks
输入brew link python3
后,错误为:
Linking /usr/local/Cellar/python/3.6.4_3... Error: Permission denied @ dir_s_mkdir - /usr/local/Frameworks
解决问题:
sudo mkdir -p /usr/local/Frameworks
sudo chown -R $(whoami) /usr/local/*
brew link python3
在此之后,我可以通过输入python3
答案 1 :(得分:7)
在终端中,输入:
brew link python
答案 2 :(得分:7)
如果您使用
brew install python
你有
brew info python
/usr/local/Cellar/python/2.7.11
python -V
Python 2.7.10
所以
brew unlink python && brew link python
并打开一个新的终端shell
python -V
Python 2.7.11
答案 3 :(得分:4)
我认为您必须准确了解要与brew link python
命令链接的版本:
brew link python 3
它会给你一个错误:
Linking /usr/local/Cellar/python3/3.5.2... Error: Could not symlink bin/2to3-3.5 Target /usr/local/bin/2to3-3.5 already exists.
您可能想将其删除:
rm '/usr/local/bin/2to3-3.5'
强制链接并覆盖所有冲突的文件:
brew link --overwrite python3
列出所有要删除的文件:
brew link --overwrite --dry-run python3
但你必须复制/粘贴命令以强制链接:
brew link --overwrite python3
我认为您必须安装版本(较新版本)。
答案 4 :(得分:4)
在OS X High Sierra上,我必须这样做:
sudo install -d -o $(whoami) -g admin /usr/local/Frameworks
brew uninstall --ignore-dependencies python
brew install python
python --version # should work, returns 2.7, which is a Python thing (it's weird, but ok)
归功于https://gist.github.com/irazasyed/7732946#gistcomment-2235469
我认为它比递归chowning / usr / local目录更好,但这可以解决其他问题;)
答案 5 :(得分:2)
brew切换到python3,所以如果你仍想将python2设置为默认的bin python,那么运行:
brew unlink python && brew link python2 --force
答案 6 :(得分:2)
答案 7 :(得分:1)
这个答案是在Mac OS X El Capitan上将Python 2.7.10升级到Python 2.7.11。在终端类型:
brew unlink python
在终端
之后输入brew install python
答案 8 :(得分:0)
我的问题是我有很多不同版本的python,因此即使我做了brew链接,它也会打开一个不同的python3.7。我做了以下附加步骤,将其设置为链接后
的默认值首先,打开设置python路径的文档
nano ~/.bash_profile
然后出现类似这样的内容:
# Setting PATH for Python 3.7
# The original version is saved in .bash_profile.pysave
PATH="/Library/Frameworks/Python.framework/Versions/3.7/bin:${PATH}"
export PATH
# Setting PATH for Python 3.6
# The original version is saved in .bash_profile.pysave
PATH="/Library/Frameworks/Python.framework/Versions/3.6/bin:${PATH}"
export PATH
这里的事情是我的brew框架Python不在 Library 文件夹中!因此,我更改了python 3.7的框架,在系统中如下所示
# Setting PATH for Python 3.7
# The original version is saved in .bash_profile.pysave
PATH="/usr/local/Frameworks/Python.framework/Versions/3.7/bin:${PATH}"
export PATH
更改并保存文件。 重新启动计算机,然后输入python3.7
,我得到安装用于brew的python。
不确定我的案子是否适用于所有人,但值得一试。不确定框架路径是否对每个人都相同,请在尝试之前确定。
答案 9 :(得分:-1)
我使用这些命令来解决它。
submitForm(value: any)
{
// this.toasterService.pop('info',' Loading...', '' );
this._loginservice.login(value).subscribe(
user => {
if(user.success) // ERROR here
{
}
});
}