美文网首页
MacOS下Python环境的整理

MacOS下Python环境的整理

作者: 海鸥在家 | 来源:发表于2020-02-04 13:24 被阅读0次

使用Pycharm学习Python的过程中一直对自己Macbook上的Python环境一知半解, 今天使用pip安装新的包时突然发现Pycharm中使用的Python环境和命令行不一致, 于是摸索着清理了一下环境.

MacOS上的Python安装

一般有三种情况:

  1. 默认自带Python2
    查看一下会发现不管是/usr/bin/python还是/usr/bin/python2或者/usr/bin/python2.7其实都是指向
    /System/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7的链接
  2. 通过brew安装的Python3
    可以用brew info python查看安装位置,一般应该在/usr/local/Cellar/python/3.7.6_1
  3. Python官网上下载安装包安装的,位置在/Library/Frameworks/Python.framework/Versions/3.8

环境变量的作用

安装好后,一般来说我们会在命令行中启动python或者python3,系统会去/usr/bin//usr/local/bin/中查询对应的程序,所以不论是通过brew还是通过官网安装包安装Python后,都会在/usr/local/bin/中创建有关python3的软链接。因此不能正确调用和执行的问题就出在这里。

lrwxr-xr-x  36B Feb  4 16:24 python3 -> ../Cellar/python/3.7.6_1/bin/python3
lrwxr-xr-x  43B Feb  4 16:24 python3-config -> ../Cellar/python/3.7.6_1/bin/python3-config
lrwxr-xr-x  38B Feb  4 16:24 python3.7 -> ../Cellar/python/3.7.6_1/bin/python3.7
lrwxr-xr-x  45B Feb  4 16:24 python3.7-config -> ../Cellar/python/3.7.6_1/bin/python3.7-config
lrwxr-xr-x  39B Feb  4 16:24 python3.7m -> ../Cellar/python/3.7.6_1/bin/python3.7m
lrwxr-xr-x  46B Feb  4 16:24 python3.7m-config -> ../Cellar/python/3.7.6_1/bin/python3.7m-config
lrwxr-xr-x  71B Feb  4 15:38 python3.8 -> ../../../Library/Frameworks/Python.framework/Versions/3.8/bin/python3.8
lrwxr-xr-x  78B Feb  4 15:38 python3.8-config -> ../../../Library/Frameworks/Python.framework/Versions/3.8/bin/python3.8-config
lrwxr-xr-x  82B Feb  4 16:03 pip3 -> /usr/local/Cellar/python/3.7.6_1/Frameworks/Python.framework/Versions/3.7/bin/pip3
lrwxr-xr-x  84B Feb  4 16:04 pip3.7 -> /usr/local/Cellar/python/3.7.6_1/Frameworks/Python.framework/Versions/3.7/bin/pip3.7
lrwxrwxr-x  68B Feb  4 15:39 pip3.8 -> ../../../Library/Frameworks/Python.framework/Versions/3.8/bin/pip3.8

整理环境

MacOS升级到Catalina后,默认Shell变成了zsh。Python官网安装包里有个Update Shell Profile.command文件,执行后会将PYTHON_ROOT="/Library/Frameworks/Python.framework/Versions/3.8"写入到~/.zprofile,结果是在$PATH中将这个路径调整到/usr/bin//usr/local/bin/之前,这样就确保调用的是官网安装版。

所以如果要使用brew版的话,需要修改软链接的指向,并且将~/.zprofile中的设置注释成失效,这样环境变量就只保留两个bin目录。然后用brew link pythonbrew link python3自动将软链接重新设置好,如果这一步有报错的话尝试

sudo mkdir -p /usr/local/Frameworks
sudo chown -R $(whoami) /usr/local/*
brew link python3

如果再有错误的话,就只有删除后手工一条一条创建软链接了。

参考
写的特别好的一篇文章MacOS 下多 Python 版本说明

相关文章

网友评论

      本文标题:MacOS下Python环境的整理

      本文链接:https://www.haomeiwen.com/subject/htkrxhtx.html