我正在按照Scrapy安装指南安装python的新副本(2.7.11),尽管我已经拥有2.6,2.7.10和3.4.0。安装进行得很顺利,直到最后一步出现这些错误
==> Pouring python-2.7.11.el_capitan.bottle.2.tar.gz
Error: The `brew link` step did not complete successfully
The formula built, but is not symlinked into /usr/local
Could not symlink bin/2to3
Target /usr/local/bin/2to3
already exists. You may want to remove it:
rm '/usr/local/bin/2to3'
To force the link and overwrite all conflicting files:
brew link --overwrite python
To list all files that would be deleted:
brew link --overwrite --dry-run python
Possible conflicting files are:
/usr/local/bin/2to3 -> /Library/Frameworks/Python.framework/Versions/3.4/bin/2to3
Error: Permission denied - /usr/local/Frameworks
此外
ls -l /usr/local/Frameworks
ls: /usr/local/Frameworks: No such file or directory
和
ls -l /usr/local/bin/2to3
lrwxr-xr-x 1 root wheel 66 7 Apr 2014 /usr/local/bin/2to3 -> ../../../Library/Frameworks/Python.framework/Versions/3.4/bin/2to3
我的问题:
1)我应该sudo brew install python
代替brew install python
吗?希望我不需要卸载2.7.11&重新开始。
2)如果我执行他们建议rm '/usr/local/bin/2to3'
和brew link --overwrite python
的两个步骤,我是否仍然可以运行python 3.4.0用于非Scrapy目的?大概我应该用sudo
?
3)如果我做了#2,/usr/local/Frameworks
上的权限问题会自行解决,还是我需要做其他事情?
跟进:
建立virtualenv的建议可能是一个很好的建议。但我想我可能需要先完成安装。
我现在已经删除了2to3。我也尝试用sudo运行brew link --overwrite python
,但是这个懦弱的拒绝sudo brew链接消息后来回来,所以我只是继续前进并没有sudo。
但brew链接仍未通过权限
brew link --overwrite python
Linking /usr/local/Cellar/python/2.7.11... Error: Permission denied - /usr/local/Frameworks
然而
ls -l /usr/local/Frameworks
ls: /usr/local/Frameworks: No such file or directory
此外,/ usr / local / bin中的许多python相关链接到现有的3.4.0(root拥有的链接)和新的2.7.11(由我拥有)。
那我现在该怎么办?非常感谢。
答案 0 :(得分:3)
基于来自各个论坛的众多帖子,最推荐的最佳做法是让自制软件安装所需的所有python版本,单独留下OSX捆绑的python(& unused)并删除所有其他版本,因为自制软件不一定会播放他们很好。
根据this,自制软件应该能够处理共存的2.7& 3.x蟒蛇。所以我跟着this advice删除了我之前直接从python.org安装的3.4。
我进一步遵循提供的brew doctor
建议,这与上面关于如何删除非homebrew python的链接中提到的步骤非常相似。随后
brew link --overwrite python
Linking /usr/local/Cellar/python/2.7.11... 5 symlinks created
和
brew doctor
Your system is ready to brew.
所以看起来自制的2.7.11安装终于完成了。
我现在将使用自制软件安装最新的3.x版本并更新这篇文章。如果成功,我将进一步设置virtualenv来安装Scrapy。
跟进:
brew install python3
已成功安装Python 3.5.1
pip install virtualenv
已成功安装virtualenv 15.0.1
virtualenv -p /usr/local/bin/python2.7 Scrapy
成功设立了" Scrapy"虚拟环境使用2.7
source Scrapy/bin/activate
启动" Scrapy"虚拟环境
pip install lxml
已成功安装lxml 3.6.0
pip install Scrapy
已成功安装Scrapy 1.1.0
pip freeze > Scrapy/requirements.txt
生成了依赖项列表
deactivate
退出" Scrapy"虚拟环境
明天会尝试Scrapy教程,看看这些是否真的有效
答案 1 :(得分:1)
我自己也遇到了类似的问题,这就是我做的事情,我能够制作链接python:
sudo mkdir /usr/local/Frameworks
sudo chown {your username}:{your usergroup} /usr/local/Frameworks/