mac下面安装python+django环境

下面简单介绍下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版本。如下图:

《mac下面安装python+django环境》

uninstall:卸载某个python版本

version:查看当前的python版本,如下图:

《mac下面安装python+django环境》

system表示当前全局的python版本为系统自带的版本。

versions:查看所有的python版本。如下图:

《mac下面安装python+django环境》

带*表示当前的全局的python版本。

rehash:貌似你用pyenv安装完一个python版本或一个python模块之后要执行一下这个命令,这个我不是很清楚,请大神赐教。

3. 配置环境变量

打开你的.bash_proflie文件

文件在目录:/用户/你的名字(比如我的是lilihan)下。是隐藏文件,用快捷键 command+shift+. 来显示隐藏文件。

在最后面加上以下三行:

  1. export PYENV_ROOT=/usr/local/var/pyenv
  2. if which pyenv > /dev/null; then eval “$(pyenv init -)”; fi
  3. if which pyenv-virtualenv-init > /dev/null; then eval “$(pyenv virtualenv-init -)”; fi

如下图:

《mac下面安装python+django环境》
保存文件后,重新打开下你的终端,运行source .bash_proflie命令。

4. 用pyenv安装python

4.1 装一些依赖包并link你的包

装python之前,最好先装一些依赖包:
  1. brew install xz
  2. brew install openssl
  3. brew install zlib

可以先在brew list里看你少哪个包

下完一个包之后
下完之后别忘了brew link一下你的包,如果link失败,在后面加–force,比如:brew link zlib –force
我记得openssl不让link的,加force也没用,后面会有其他解决办法。

4.2 安装以及一个较快速安装的方法

打开终端
输入:
pyenv install 3.6.3

或者:

pyenv install 3.6.3 -v

推荐后面一种,后面一种会详细显示安装的过程,看着比较爽,谁用谁知道。。。

好了,剩下的就是漫长的等待,毕竟会被墙,什么,你不想等?好吧,那我还有一招,手动滑稽。
进入python官网:https://www.python.org
在下载里点source code,然后下载你的python文件,比如Python-3.6.3.tar.xz,虽然也不快但是总比之前好的多。。。
好了,进到/usr/local/var/pyenv目录,找到cache文件夹,如果没有自己新建一个,然后把前面下载的Python-3.6.3.tar.xz文件放到cache文件夹下。
重新执行

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 安装完成后

安装成功后,运行 pyenv versions 命令可以查看你安装的python,如下图中我安装的3.6.3

《mac下面安装python+django环境》

你安装的python版本位于 /usr/local/var/pyenv/versions/ 目录下。

之后你可以用global来切换你的全局python版本。

5. 用pyenv-virtualenv安装你的虚拟环境

5.1 安装

打开终端
输入:
pyenv virtual 3.6.3 env363

3.6.3:你之前安装的python的某个版本。

env363:你的虚拟环境的名称。
安装后运行 pyenv versions 后可以看到你安装的虚拟环境,如下图:
《mac下面安装python+django环境》
env363即为我刚刚创建的虚拟环境。
3.6.3/env/env3.6.3为一个你的虚拟环境和3.6.3之间的一个软链接。

5.2 虚拟环境的一些命令

激活你的虚拟环境:pyenv activate env363
关闭你的虚拟环境:pyenv deactivate
删除你的虚拟环境:pyenv uninstall env363
一个比较坑的地方是如果你退出了终端,你的虚拟环境会自动关闭。所以接下来我们要介绍下pycharm了。

6. 在pycharm中使用你的虚拟环境

6.1 简介

pycharm:python环境的一个比较好的IDE。可以在官网下载,然后网上找破解方法,百度一下一大堆。最后劝你不用更新,不然。。。谁更谁知道。。。

6.2 使用

打开pycharm的preference,选择project interperter,点右上角的*按钮,add local ,然后选择你创建的虚拟环境。如下图:
《mac下面安装python+django环境》
pycharm还有一个很好用的功能就是你可以直接点左下角的加号来搜索并下载更新python的模块包。
 

6.3 测试

在你的pycharm中新建一个py文件,输入

print("Hello World!")

如果能输出这句亲切的Hello World!,那么恭喜你,到这里你终于成功了,不过漫漫码农路才刚刚开始啊。。。

众所周知,Mac上默认安装了Python,版本为2.7.x。

$ python --version
Python 2.7.10

但是2即将退休我们该如何优雅得使用Python 3呢?

我们使用的工具是pyenvgithub.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

《mac下面安装python+django环境》
image

安装后

查看版本

pip --version

《mac下面安装python+django环境》
image

查看相应的包

pip3 list

《mac下面安装python+django环境》
image

安装和更新pip

pip install --upgrade pip

《mac下面安装python+django环境》

用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

 

打印:

《mac下面安装python+django环境》
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.
《mac下面安装python+django环境》

 

成功,浏览器输入http://127.0.0.1:8000/可以看到

《mac下面安装python+django环境》

 

查看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

点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注