前言
系统: MacOS 10.14(915) 电脑硬件环境: 6-Core Intel Core i9 2.9 GHz 问题:在Python - 2.7 和 3.9 共存的终端,安装Scrapy框架失败。
Mac出厂自带python2.7版本,后面我安装了Python3.0以及3.9,于是电脑里就有多个版本共存的情况。但是直接输入python -V可以看到电脑只展示了一个默认2.7的版本。 输入:python -V 输出:Python 2.7.16
然后最近需要做一个Scrapy爬虫方面的项目,也是一个初学者,所以踩了很多的坑。想着花了这么长时间,不记录一下整个过程感觉很吃亏,以下是一些踩坑经验,方便自己复阅的同时也是给后面朋友一些参考,这里附上Scrapy官方文档。
1.修改电脑自带的默认python的版本
1.1 打开Mac电脑的访达程序(command+空格)
1.2 按电脑快捷键Shift+Command+G
1.3 在弹出的窗口搜索/private
1.4 进入etc目录找到里面的profile,修改配置文件
- 修改etc的访问权限
- 修改profile的访问权限
注:如果文件是Read only则需要在右击该文件进入Get Info中,然后通过电脑开机密码解开最下方那把🔒,修改文件状态为Read & write。比如这里我需要修改etc和etc目录下profile文件的访问权限。
1.5 修改并保存profile文件的数据,在原文件的基础上追加倒数两行即可
export PATH
alias python="/Library/Frameworks/Python.framework/Versions/3.9/bin/python3.9"
如下所示 注1:查看指定python版本的安装位置ls -al $(which python3.X)
1.6 Mac终端中通过source命令使文件立即生效
source ~/.profile
重启终端,我们再使用python -V,则显示的python版本就已经改成了我们自定义的python版本。同理,我们可以将pip修改为pip3。
1.7 文件权限改回,防止误操
2.pip install scrapy安装过慢
解决方式:更换下载源,如使用国内的豆瓣镜像加速
pip install -i https://pypi.douban.com/simple Scrapy
3.安装成功,但是报command not found错误
通过pycharm编译器里面安装成功,也在终端使用pip install Scrapy安装成功,在本地可以找到这个包,然后pip list或者pip3 list也能看到这个包是有成功安装的。然后根据错误提示-sh command not found去google问题答案,接下来四个多小时如泥牛入海,去而不返。google的结果大致就是说环境变量配置失败了,于是在profile、.bash_profile各种文件夹里面补充配置,这里一些加载顺序及相关知识请参考Mac下添加环境变量(一劳永逸) 然后,这些都没有解决我的问题… 最后,把文件夹里面的这个包给卸载了,通过pip3重新安装生效。
3.1 终端卸载Scrapy
pip uninstall Scrapy
3.2 pip3安装Scrapy
pip3 install Scrapy
3.3 验证Scrapy可以正常使用
scrapy -V
输入scrapy -v 查看版本信息,出现以下界面就表示可以正常使用了。
总结
1.mac自带python2.7,所以直接使用pip安装,这个pip也表示pip2; 2.修改默认的python以及pip版本; 3.source ~/.profile直接使该修改的文件生效; 4.Mac环境变量的一些知识; 5.获取不可修改文件的访问权限。
最后,回归程序员两大终极疑惑,为什么这个代码可以?为什么这个代码不可以?对于开始Scrapy安装为什么错了依旧不是十分了解,如果有大神能够解除疑惑,欢迎提笔留言。
|