首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

神级程序员把Python2和3当中最常见的问题都收集了!很全面的总结

Mac OSX本身系统自带Python2.7,但不建议直接使用、删除和更改,因为可能有些程序是需要依赖系统自带的python 2.*,盲目修改后可能会导致系统产生未知错误。

所以建议在不修改系统的python条件下搭建Python双版本环境。在给大家分享之前呢,小编推荐一下一个挺不错的交流宝地,里面都是一群热爱并在学习Python的小伙伴们,大几千了吧,各种各样的人群都有,特别喜欢看到这种大家一起交流解决难题的氛围,群资料也上传了好多,各种大牛解决小白的问题,这个Python群:330637182 欢迎大家进来一起交流讨论,一起进步,尽早掌握这门Python语言。

Mac OSX在系统自带的python之外,可以安装Python2.7和Python3.5/3.6版本,并且双版本兼容。

在参考的安装流程中,我发现了一些问题并进行了解决,列出问题及解决方法如下:

1.Python2.7安装后,按原文博主的安装方法无法修改系统默认的Python命令为自己安装Python路径和版本:

解决方法:

打开系统配置文件:

i ~/.bash_profile

添加入自己的安装的Python2.7的路径地址:

PATH="/usr/local/Cellar/python/2.7.14/bin:$"

让PATH变量生效:

source ~/.bash_profile

我们看到,命令行输入

which python2.7

时,路径地址改变,不再是系统默认地址:

python2.7

我们前往路径地址修改添加

python

文件:(复制一个python2.7然后重命名为python即可)

前往路径地址修改添加`python`文件

这样默认的python即修改为我们所安装的python2.7版本,而非系统自带的python路径,命令行输入

which python

查看:

查看所安装的python2.7版本

这样,我们就将系统的默认python命令链接到了我们所安装的python目录下,而非系统自带的python路径。

2.Python2.7和Python3.6安装后,pip2和pip3下载的包仍在Mac OSX系统自带的Python2.7的包目录下,而非Python2.7和Python3.6的安装目录:

问题图示如下:

pip的ersion都是系统自带python的包下载路径:

pip的ersion都是系统自带python的路径

pip的路径都是系统自带python的路径,而非我们的安装路径:

python的路径

解决方法:

打开系统配置文件:

i ~/.bash_profile

添加入自己的安装的Python2.7和Python3.6的路径地址:

让PATH变量生效:

source ~/.bash_profile

我们看到,命令行输入

which pip

pip --ersion

时,pip的路径地址改变,pip下载的包的地址也改变,不再是系统默认地址:

pip版本显示

这样,即可保证使用pip下载的包路径正确,且和我们所安装的两个版本python分别对应。

3.Pip总是不能正常下载包,安装模块包ConnectTimeoutError错误:

解决方法:

我们在使用pip无法正常下载包的时候可以使用国内镜像服务,如用豆瓣的源下载安装

selenium

包:

如果是要给python3下载依赖,注意pip和python版本对应,同理:

这样,即可正常的使用pip来下载安装包了。

安装流程

主要就这几个步骤而已,不会太困难的(或许有些你本来就装好了)

Step 2 安装套件管理工具Homebrew

Step 4 设定路径$PATH(不跟系统Python 打架)

Step 5 完成啰!确认安装结果~

Step 1 安装Xcode

可以到App Store搜寻Xcode并安装安装好了之后就把Xcode打开~第一次开启的时候会需要同意他的License Agreement之类的东西。然后到terminal输入来安装Xcode command line tool:

xcode-select--install

安装Xcode 就到此结束啰,要进入下一个步骤了!

Step 2安装套件管理工具: Homebrew

可以到官网或是在terminal 里贴上:

ruby-e"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

安装好后可以跑一下

brew doctor

如果出现

Your system is ready to brew.

代表万事OK,那如果有Warning的话,也不用太担心,可以按照里面的步骤去修正就好啰!

如果有出现Warning的话,虽然会在上面看到一句

If eerything you use Homebrew for is working fine: please don't worry and just ignore them.

不过还是建议大家把东西装好,才不会到时候忘记自己到底什么东西还没设定好。

Step 3 安装Python

接下来要正式进入安装Python的步骤了!

首先,输入

python --ersion

天哪!都还没开始装Python,电脑里面怎么已经有了?

这是Mac系统要使用的Python,所以平常没适不要去乱动比较好唷!

所以现在我们要用homebrew来安装平常可以(乱搞?)使用的Python。

利用homebrew 搜寻Python

brew search python

这时候,会看到python和python3。

因为我已经装了,所以旁边会写(installed)。要安装Python啰!

brew install python

这样就开始安装了。

装完之后在输入

brew install python3

在安装的时候,Python 会被安装在

/usr/local/Cellar

那就来看看这个资料夹吧

open /usr/local/Cellar/

就可以看到你正在安装的Python出现了!

除了Python之外,也有可能会装一些其他的东西,例如sqlite。

总之,不用太担心,homebrew会自己搞定。

(因为我装了很多哩哩抠抠,所以你的资料夹里可能不会有这么多东西)

Step 4 设定路径$PATH(不跟系统Python 打架)

什么是路径$PATH 呢?

还记得我们在装Python的时候,输入了brew,

系统就自动会知道要开始跑homebrew。

系统到底怎么知道我们的brew在哪里?

这就是$PATH的用途了!

echo $PATH

接下来就会看到一串类似这样的东西

/usr/bin**:**/bin**:**/usr/sbin**:**/sbin**:**/usr/local/bin

分号(:)是分隔的意思

所以当你在terminal里面输入brew时

系统就会开始从/usr/bin找起

如果在/usr/bin里面找不到的话

就会往下一个/bin去搜寻,以此类推

现在,我们回到资料夹去看

brew其实就在/usr/local/bin里面!

所以现在的问题就是,系统在/usr/bin里面也有一份Python

现在我们在/usr/local/Cellar里面也装了Python

这样在terminal打上python指令时,谁会被开启呢?

因为路径有顺序,所以它会先找到系统的Python

现在就要来解决这个问题

sudo emacs/etc/paths

sudo让我们取得管理员权限

用emacs这个程式编辑路径档案

terminal会要求输入密码

(就是平常装东西也需要输入的密码)现在要把/usr/local/bin移到上面去control + k:把一行字剪下来control + y:把字贴上control + x + s:存档control + x + c:关掉emacs

这时,再打一次

echo $PATH

为什么没有变!?

因为要开一个新的terminal才会更新唷!

开新式窗后再输入一次就会看到我们刚刚修改的结果了。

Step 5 完成啰!确认安装结果~

这样就完成啰!

其实python3本身比较不会跟其他人打架

因为他就是独立的python3

所以我们主要是要确认是不是读到我们用brew装的python

which python

这时候看到

/usr/local/bin/python

再来看看python3 吧

which python3

应该会是

/usr/local/bin/python3

就代表读到刚刚装好的python啰!

当然如果你要跑系统本身的python

(应该是用不到啦~)

就输入

/usr/bin/python

总之就是…大功告成啰!

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180301A0U6EE00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券