下面简单介绍下pyenv和pyenv-virtualenv:
1. pyenv:python多版本工具,轻松切换python版本。
2. pyenv-virtualenv:创建你的python虚拟环境,然后你就可以在你的python虚拟环境里为所欲为了。
目录:
1. 安装homebrew
2. 安装pyenv和pyenv-virtualenv
2.1 安装
2.2 测试
2.3 一些简单的命令使用介绍
3. 配置环境变量
4. 用pyenv安装python
4.1 装一些依赖包并link你的包
4.2 安装以及一个较快速的安装方法
4.3 安装过程中的一些错误
4.4 安装完成之后
5. 用pyenv-virtualenv安装你的虚拟环境
5.1 安装
5.2 虚拟环境的一些命令
6. 在pycharm中使用你的虚拟环境
6.1 简介
6.2 使用
6.3 测试
7. 总结
1. 首先我们安装个homebrew吧,这玩意真心好使,作用相当于Linux的apt-get
打开终端
输入:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
即可安装完成。
在终端输入brew,测试安装是否成功。
brew search [TEXT|/REGEX/]
brew (info|home|options) [FORMULA…]
brew install FORMULA…
brew update
brew upgrade [FORMULA…]
brew uninstall FORMULA…
brew list [FORMULA…]
以上是brew的一些命令,还有一个brew doctor命令也挺好用的,看名字可以知道是检查你的brew情况。
2. 安装pyenv和pyenv-virtualenv
2.1 安装
打开终端
输入:
brew install pyenv
pyenv install pyenv-virtualenv
2.2 测试以及简单的命令介绍
在终端输入pyenv,测试安装是否成功。
commands List all available pyenv commands
local Set or show the local application-specific Python version
global Set or show the global Python version
shell Set or show the shell-specific Python version
install Install a Python version using python-build
uninstall Uninstall a specific Python version
rehash Rehash pyenv shims (run this after installing executables)
version Show the current Python version and its origin
versions List all Python versions available to pyenv
which Display the full path to an executable
whence List all Python versions that contain the given executable
2.3 一些简单的命令使用介绍
local:设置本地的python版本。
global:设置全局的python版本。如:pyenv global 3.6.3
install:安装你的python版本。如:pyenv install 3.6.3 可以先用pyenv install –list(两个-)查看可以安装的python版本。如下图:
uninstall:卸载某个python版本
version:查看当前的python版本,如下图:
system表示当前全局的python版本为系统自带的版本。
versions:查看所有的python版本。如下图:
带*表示当前的全局的python版本。
rehash:貌似你用pyenv安装完一个python版本或一个python模块之后要执行一下这个命令,这个我不是很清楚,请大神赐教。
3. 配置环境变量
打开你的.bash_proflie文件
文件在目录:/用户/你的名字(比如我的是lilihan)下。是隐藏文件,用快捷键 command+shift+. 来显示隐藏文件。
在最后面加上以下三行:
-
export PYENV_ROOT=/usr/local/var/pyenv
-
if which pyenv > /dev/null; then eval “$(pyenv init -)”; fi
-
if which pyenv-virtualenv-init > /dev/null; then eval “$(pyenv virtualenv-init -)”; fi
如下图:
保存文件后,重新打开下你的终端,运行source .bash_proflie命令。
4. 用pyenv安装python
4.1 装一些依赖包并link你的包
-
brew install xz
-
brew install openssl
-
brew install zlib
可以先在brew list里看你少哪个包
下完之后别忘了brew link一下你的包,如果link失败,在后面加–force,比如:brew link zlib –force
4.2 安装以及一个较快速安装的方法
pyenv install 3.6.3
或者:
pyenv install 3.6.3 -v
推荐后面一种,后面一种会详细显示安装的过程,看着比较爽,谁用谁知道。。。
pyenv install 3.6.3 -v
4.3 安装过程的一些错误
ERROR: The Python ssl extension was not compiled. Missing the OpenSSL lib?
原因:我猜就是之前的openssl不让link。。。
解决办法:
CFLAGS="-I$(brew --prefix openssl)/include" \
LDFLAGS="-L$(brew --prefix openssl)/lib" \
pyenv install 3.4.2
错误二:
zipimport.ZipImportError: can't decompress data; zlib not available
原因:之前你没link你下的zlib
解决办法:
brew link zlib –force
或者
CFLAGS="-I$(xcrun --show-sdk-path)/usr/include" pyenv install -v 3.4.2
错误三:
如果你安装完之后遇到了错误:缺少sqlite3模块,你可以进入python,然后import sqlite3,如果报错缺少sqlite3模块,那么恭喜你,真心的,你和我一样中奖了,mdzz,这个什么鬼错误浪费了我不知道多久才搞定,差点精神崩溃。
原因:鬼知道。。。当然你之后不用sqlite3这个模块那就不用解决了,不过sqlite3这个模块还是挺重要的。
解决办法:因为比较麻烦,请参考我另外一篇文章:http://blog.csdn.net/lilihan12358/article/details/78637489
4.4 安装完成后
你安装的python版本位于 /usr/local/var/pyenv/versions/ 目录下。
之后你可以用global来切换你的全局python版本。
5. 用pyenv-virtualenv安装你的虚拟环境
5.1 安装
pyenv virtual 3.6.3 env363
3.6.3:你之前安装的python的某个版本。

5.2 虚拟环境的一些命令
6. 在pycharm中使用你的虚拟环境
6.1 简介
6.2 使用

6.3 测试
print("Hello World!")
如果能输出这句亲切的Hello World!,那么恭喜你,到这里你终于成功了,不过漫漫码农路才刚刚开始啊。。。
众所周知,Mac上默认安装了Python,版本为2.7.x。
$ python --version
Python 2.7.10
但是2即将退休,我们该如何优雅得使用Python 3呢?
我们使用的工具是pyenv: https://github.com/pyenv/pyenv
详细步骤如下:
- 使用Homebrew安装pyenv(当然你也可以使用其他你喜欢的方式安装
$ brew install pyenv
- 使用pyenv安装python 最新版本(这里我安装了3.7.6
$ pyenv install 3.7.6
- 将3.7.6设置为当前系统的默认版本
$ pyenv global 3.7.6
- 为了确保pyenv正确工作,我们还需要在.zshrc文件中添加如下内容(对于你来说也可能是.bash_profile文件
$ echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n eval "$(pyenv init -)"\nfi' >> ~/.zshrc
做完这些我们打开一个新的terminal,再来查看一下python版本:
$ python --version
Python 3.7.6
大功告成!
附pyenv常用命令:
pyenv install 3.7.6 # 安装 python 3.7.6
pyenv global 3.7.6 # 将3.7.6设置为当前系统默认版本
pyenv global system # 还原系统安装版本(2.7.10)为当前系统默认版本
pyenv version # 查看当前系统默认python版本
pyenv versions # 列出所有系统可用的python版本
当前默认版本:
$ python -V
Python 2.7.16
$ python
WARNING: Python 2.7 is not recommended.
This version is included in macOS for compatibility with legacy software.
Future versions of macOS will not include Python 2.7.
Instead, it is recommended that you transition to using 'python3' from within Terminal.
Python 2.7.16 (default, Nov 9 2019, 05:55:08)
[GCC 4.2.1 Compatible Apple LLVM 11.0.0 (clang-1100.0.32.4) (-macos10.15-objc-s on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>
查看各版本python的路径:
$ which python
/usr/bin/python
$ which python3
/usr/local/bin/python3
修改默认路径:
$ alias python="/usr/local/bin/python3"
查看替换结果:
$ python -V
Python 3.7.1
$ python
Python 3.7.1 (default, Nov 28 2018, 11:51:47)
[Clang 10.0.0 (clang-1000.11.45.5)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>
pip是常用的python包管理工具,用python的同学,都离不开pip。
第一种 在系统自带的python2.7的路径下
1、pip是python的包管理工具,在Python2.7的安装包中,easy_install.py是默认安装的,而pip需要我们手动安装。
打开终端:
sudo easy_install pip
第二种 在python3的路径下
curl https://bootstrap.pypa.io/get-pip.py | python3

安装后
查看版本
pip --version

查看相应的包
pip3 list

安装和更新pip
pip install --upgrade pip

用pip3/Python3安装Django,1.11.7是最新稳定版(官网download页面有 https://www.djangoproject.com/download )
这里注意用sudo 不然会报错#
sudo pip3 install Django==1.11.7
提示 :
Installing collected packages: Django Found existing installation: Django 2.1.dev20171130142844 //之前用github下载安装的最新版,2.x 版本太高 Uninstalling Django-2.1.dev20171130142844: Successfully uninstalled Django-2.1.dev20171130142844 //自动卸载掉之前的版本 Successfully installed Django-1.11.7 //安装成功
3.测试是否安装成功#
cd /Users/z/PyP/Django
4.新建一个服务#
sudo django-admin.py startproject testLocalHost cd testLocalHost
5.运行服务,因为是用pip3/python3安装的Django 所以应该用python3来运行#
python3 manage.py runserver
...xxx .....xxx django.db.utils.OperationalError: unable to open database file
报错了。
6.改用管理员权限运行:#
sudo python3 manage.py runserver
打印:
Performing system checks... System check identified no issues (0 silenced). You have 13 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions. Run 'python manage.py migrate' to apply them. December 01, 2017 - 08:33:50 Django version 1.11.7, using settings 'testLocalHost.settings' Starting development server at http://127.0.0.1:8000/ Quit the server with CONTROL-C.
成功,浏览器输入http://127.0.0.1:8000/可以看到
查看Django版本
import django print(django.VERSION)
打印:(1, 11, 7, ‘final’, 0) 说明是1.11.7版本。
查看python3安装目录
import sys print(sys.path)
打印xxxxxx /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6 xxxx 即是python3安装目录
pip3 安装目录:/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/pip
pip 安装目录在默认python目录下
Django安装目录(用pip3安装) :/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/django