问题阐述:

MacOS默认Python版本是2.7.10,随着Python3的进一步占有市场,Python2.7也将在2020年结束维护,所以在同一台电脑上安装多个Python版本势在必行。

一、pyenv的使用

首先,安装pyenv,参考地址

1,安装Homebrew,参考地址

2,安装pyenv:

$ brew update
$ brew install pyenv

3,添加pyenv init到shell里

$ echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n  eval "$(pyenv init -)"\nfi' >> ~/.bash_profile

4,重启shell,使配置生效

然后,pyenv基本使用方法

1,列出系统安装的所有Python版本

ritchdeMacBook-Pro:~ ritch$ pyenv versions
* system (set by /Users/ritch/.pyenv/version)
3.7.0

2,列出当前Python版本

ritchdeMacBook-Pro:~ ritch$ pyenv version
system (set by /Users/ritch/.pyenv/version)

3,列出pyenv可供安装使用的Python版本

ritchdeMacBook-Pro:~ ritch$ pyenv install -l
Available versions:
2.1.3
2.2.3
2.3.7
...
...
3.6.5
3.6.6
3.7.0
3.7-dev
3.8-dev

4,安装Python版本

ritchdeMacBook-Pro:~ ritch$ pyenv install 3.6.6
python-build: use openssl from homebrew
python-build: use readline from homebrew
Downloading Python-3.6.6.tar.xz...
-> https://www.python.org/ftp/python/3.6.6/Python-3.6.6.tar.xz
Installing Python-3.6.6...
python-build: use readline from homebrew
Installed Python-3.6.6 to /Users/ritch/.pyenv/versions/3.6.6

5,全局切换Python版本

ritchdeMacBook-Pro:~ ritch$ python
Python 2.7.10 (default, Oct 6 2017, 22:29:07)
[GCC 4.2.1 Compatible Apple LLVM 9.0.0 (clang-900.0.31)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> exit()
ritchdeMacBook-Pro:~ ritch$ pyenv versions
* system (set by /Users/ritch/.pyenv/version)
3.6.6
3.7.0
ritchdeMacBook-Pro:~ ritch$ python
Python 2.7.10 (default, Oct 6 2017, 22:29:07)
[GCC 4.2.1 Compatible Apple LLVM 9.0.0 (clang-900.0.31)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> exit()
ritchdeMacBook-Pro:~ ritch$ pyenv global 3.6.6
ritchdeMacBook-Pro:~ ritch$ python
Python 3.6.6 (default, Sep 27 2018, 13:24:00)
[GCC 4.2.1 Compatible Apple LLVM 9.1.0 (clang-902.0.39.2)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> exit()

其中Python版本控制,分为三个场景:

global:全局范围内Python版本的展示和修改。

local:当前目录下Python版本的展示和修改。

shell:当前shell会话Python版本的展示和修改,适用于脚本执行的情况,当前会话结束后,Python版本回复原样。

二、多版本情况的pip使用

Python好用的地方是,有很多成熟的第三方库。安装了多个Python版本,对应的pip怎么使用呢?

首先,安装

正常情况下,Python2 >= 2.7.9 或者 Python3 >= 3.4,pip已经被安装好了。

保证Upgrading pip:

ritchdeMacBook-Pro:~ ritch$ python -V
Python 3.6.6
ritchdeMacBook-Pro:~ ritch$ python -m pip install --upgrade pip
Collecting pip
Using cached https://files.pythonhosted.org/packages/5f/25/e52d3f31441505a5f3af41213346e5b6c221c9e086a166f3703d2ddaf940/pip-18.0-py2.py3-none-any.whl
Installing collected packages: pip
Found existing installation: pip 10.0.1
Uninstalling pip-10.0.1:
Successfully uninstalled pip-10.0.1
Successfully installed pip-18.0

如果系统里没有安装好pip,参看安装

curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python get-pip.py

然后,使用

Python 3.6.6,使用pip安装第三方库bs4:

ritchdeMacBook-Pro:~ ritch$ pyenv global 3.6.6
ritchdeMacBook-Pro:~ ritch$ python -V
Python 3.6.6
ritchdeMacBook-Pro:~ ritch$ python -m pip install bs4
Collecting bs4
Downloading https://files.pythonhosted.org/packages/10/ed/7e8b97591f6f456174139ec089c769f89a94a1a4025fe967691de971f314/bs4-0.0.1.tar.gz
Collecting beautifulsoup4 (from bs4)
Downloading https://files.pythonhosted.org/packages/21/0a/47fdf541c97fd9b6a610cb5fd518175308a7cc60569962e776ac52420387/beautifulsoup4-4.6.3-py3-none-any.whl (90kB)
100% |████████████████████████████████| 92kB 537kB/s
Installing collected packages: beautifulsoup4, bs4
Running setup.py install for bs4 ... done
Successfully installed beautifulsoup4-4.6.3 bs4-0.0.1

Python 3.7.0,使用pip安装第三方库bs4:

ritchdeMacBook-Pro:~ ritch$ pyenv global 3.7.0
ritchdeMacBook-Pro:~ ritch$ python -V
Python 3.7.0
ritchdeMacBook-Pro:~ ritch$ python -m pip install bs4
Collecting bs4
Using cached https://files.pythonhosted.org/packages/10/ed/7e8b97591f6f456174139ec089c769f89a94a1a4025fe967691de971f314/bs4-0.0.1.tar.gz
Collecting beautifulsoup4 (from bs4)
Using cached https://files.pythonhosted.org/packages/21/0a/47fdf541c97fd9b6a610cb5fd518175308a7cc60569962e776ac52420387/beautifulsoup4-4.6.3-py3-none-any.whl
Installing collected packages: beautifulsoup4, bs4
Running setup.py install for bs4 ... done
Successfully installed beautifulsoup4-4.6.3 bs4-0.0.1

三、总结

pyenv配合pip,可以很好解决Python多版本的问题。

同时也可以在轻量级编辑器(VS Code、Sublime)上很好的配合使用,VS Code如下截图: 

最新文章

  1. G1 垃圾收集器
  2. oracle并发请求异常,运行时间超长(一般情况下锁表)
  3. 各大IT公司校园招聘程序猿笔试、面试题集锦
  4. Javascript中的循环变量声明,到底应该放在哪儿?
  5. HSV色彩空间
  6. JS 的trim()
  7. WPF 应用程序使用 Multilingual App Toolkit
  8. NSMutableArray 初始化与添加删除程序
  9. 图片延迟加载库Layzr
  10. nyoj 36
  11. How to access the properties of an object in Javascript
  12. Health Check in eShop -- 解析微软微服务架构Demo(五)
  13. 准备 overlay 网络实验环境 - 每天5分钟玩转 Docker 容器技术(49)
  14. (转)CentOS无损调整磁盘分区大小的实现方法
  15. BotVS开发基础—2.5 状态信息显示表格
  16. webpack 4.0 中 clean-webpack-plugin 的使用
  17. AndroidStudio中builde.gradle文件详解
  18. 使用numpy产生随机数
  19. mybatis源码解析8---执行mapper接口方法到执行mapper.xml的sql的过程
  20. Mac eclipse 连接安卓手机调试 adb

热门文章

  1. BZOJ2286 [Sdoi2011]消耗战 和 BZOJ3611 [Heoi2014]大工程
  2. 【QT】对Qt项目开发中遇到的问题的总结
  3. 手动导入XMPPFramework框架
  4. IronPython for ASP.NET 部署注意事项
  5. (转载)[机器学习] Coursera ML笔记 - 监督学习(Supervised Learning) - Representation
  6. BZOJ2428:[HAOI2006]均分数据
  7. 使用TortoiseGit来访问GitHub
  8. 计算MySQL的内存峰值公式 (转)
  9. js函数篇
  10. Nuget:目录