之前使用mac自带终端sh命令,安装了anaconda3 可以使用python3 和 pip。 但是iterm设置为默认终端后,并该用zsh命令,全部都不可以使用了。
按照上面都说法,将anaconda环境变量导入至.zshrc
中,即可使conda和pip命令,默认python3
export PATH="/Users/yong/opt/anaconda3/bin:$PATH"
david@DaviddeMacBook-Pro ~ pip --version
pip 18.1 from /Users/david/anaconda3/lib/python3.7/site-packages/pip (python 3.7)
更新 200227
- 即使使用pip安装,也是由anaconda的python3.7安装,不是安装到系统自带的python2.7中
- 使用pip3安装virtualenv,会安装到系统自带的python3.7环境中
- 如果没有安装anaconda3,那么系统如果只有一个python3环境,使用pip直接安装到python3中
- 如果存在两个版本的python,那么pip安装到python2中,pip3安装到python3中
yong@MacBookPro ~ % pip --version
pip 19.2.3 from /Users/yong/opt/anaconda3/lib/python3.7/site-packages/pip (python 3.7)
yong@MacBookPro ~ % pip3 --version
pip 19.0.3 from /Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.7/lib/python3.7/site-packages/pip (python 3.7)
david@DaviddeMacBook-Pro ~ pip install virtualenv
虚拟环境,就是一个代码运行环境而已,文件系统和物理机mac一样,也有自己的pip工具
- 虚拟环境单独创建一个文件目录做管理,所有python虚拟环境全部放到一个目录下
- 而创建python项目时,需要单独存放到另外一个专门用户代码项目的目录
- 即,虚拟环境放在:/Users/david/python-envs, 项目放在/Users/david/PycharmProjects
创建虚拟环境
cd /Users/david/python-envs
virtualenv django-env
. django-env/bin/activate
创建项目目录
cd PycharmProjects
mkdir first-project
上面的virtualenv 需要自己将python虚拟单独放到一个目录,再把项目代码放到其他项目
virtualenvwrapper创建个虚拟环境时,不论在哪个目录下运行,都会将环境创建在固定的文件目录下
我觉着,与其安装上面的三方包,还不如自带的好用!!!! 与上面将 python虚拟环境 和 项目代码 放在不同目录下 不同,另一种思路是将二者放到同一个大目录下。但是还是推荐分开存放,否则每一个项目都需要创建一个单独的运行环境,太浪费了
python -m venv $venv_Name
,是从python3.3版本开始自带的工具,使用和virtualenv类似,但是2.7版本不能使用venv- 需要先进入到存放虚拟环境的目录,再运行上面的命令,以将新虚拟环境创建在该目录下
所有虚拟环境,和项目code 全部在创建的同一个文件夹PycharmProjects/django-project下面。但是推荐将运行环境和项目分开管理
david@DaviddeMacBook-Pro ~/PycharmProjects mkdir first-project
david@DaviddeMacBook-Pro ~/PycharmProjects cd first-project
david@DaviddeMacBook-Pro ~/PycharmProjects/first-project python -m venv django-env
david@DaviddeMacBook-Pro ~/PycharmProjects/first-project source django-env/bin/activate
(django-env) david@DaviddeMacBook-Pro ~/PycharmProjects/first-project pip install django
(django-env) david@DaviddeMacBook-Pro ~/PycharmProjects/first-project ls
django-env
(django-env) david@DaviddeMacBook-Pro ~/PycharmProjects/first-project django-admin startproject django_project
(django-env) david@DaviddeMacBook-Pro ~/PycharmProjects/first-project ls
django-env django_project
(django-env) david@DaviddeMacBook-Pro ~/PycharmProjects/first-project
cd django_project
python manage.py runserver [port9000]
, port default=8000,也可以手动指定
- edit settings.py
/Users/david/PycharmProjects/first-project/django_project/django_project/settings.py
- 28 ALLOWED_HOSTS = []
+ 28 ALLOWED_HOSTS = ['192.168.0.4']
- [重要步骤]
python manage.py runserver 0.0.0.0:7000
,监听所有ip访问7000端口,端口可以自行执行,但是runserver 0.0.0.0
必须要做,否则局域网内ip访问不生效!!! - access http://192.168.0.4:7000/
(django-env) david@MBP ~/PycharmProjects/first-project/django_project python manage.py startapp book
(django-env) david@MBP ~/PycharmProjects/first-project/django_project ls
(django-env) david@MBP ~/PycharmProjects/first-project/django_project tree
.
├── book
│ ├── __init__.py
│ ├── admin.py
│ ├── apps.py
│ ├── migrations
│ │ └── __init__.py
│ ├── models.py
│ ├── tests.py
│ └── views.py
├── db.sqlite3
├── django_project
│ ├── __init__.py
│ ├── __pycache__
│ │ ├── __init__.cpython-37.pyc
│ │ ├── settings.cpython-37.pyc
│ │ ├── urls.cpython-37.pyc
│ │ └── wsgi.cpython-37.pyc
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
└── manage.py
settings.py 文件中默认开始Debug模式DEBUG = True
- 保存变更后,启动重启网页服务,实时更新变更内容
- 网页和console同时提示报错
- 生产环境要禁止DEBUG,否则对用户不友好,且外人可以看到源码,有安全隐患
DEBUG = False ALLOWED_HOSTS = ['13.197.150.200', '127.0.0.1']
- debug关闭后,django要求必须指定服务器地址或者域名以用于外部访问,否则程序报错