1. 准备环境
Ubuntu16.04 下安装 virtualenv
virtualenv可以用来管理互不干扰的独立python虚拟环境,在有些场景下非常有用。
virtualenvwrapper在virtualenv的基础上提供了一些更方便的命令。
# 安装
sudo pip install virtualenv
sudo pip install virtualenvwrapper
在~/.bashrc里面加上:
export WORKON_HOME=/home/dev/virtualenv #你创建的虚拟环境所放置的目录
source /usr/local/bin/virtualenvwrapper.sh
source ~/.bashrc #就可以使用了
管理环境
首先我们创建一个python3的虚拟环境,当然系统里得先装好了python3。
mkvirtualenv -p python3 web1
//or
virtualenv -p python3 web1
-p 后面的参数指定了python3(也有可能要换成python3.2/python3.4,具体要看你系统里面/use/bin/里面的文件是什么名字),如果去掉这个参数,就会使用系统默认的python。最后一个参数web1是创建的这个环境的名字。
其他一些常用命令:
deactivate # 退出当前虚拟环境
workon [虚拟环境名称] # 使用某个虚拟环境
rmvirtualenv [虚拟环境名称] # 删除某个虚拟环境
lsvirtualenv # 列出所有虚拟环境
包管理
在实际使用中,我们会用pip来管理python的包,而在虚拟环境里的包是和系统里的包分离开的,虚拟环境之间的包也是隔离开的。
在生产环境中,我们可能需要将程序部署在很多机器上,如果能方便地把依赖的包同步到所有机器上能省去很多时间。
可以在开发机器上执行下面这个命令,来列出所有的包并保存到packages.txt,其中-l参数是只列出当前虚拟环境的包:
pip freeze -l > packages.txt
然后在部署到生产环境的时候,把packages.txt也复制到每个机器,并在每个机器上执行:
pip install -r packages.txt
2. 安装 配置 Django
# 安装
pip install Django
# 查看版本号
$ python -m django --version
# 创建项目
$ django-admin startproject mysite
目录结构
# 用于开发的服务器
$ python manage.py runserver
# 更换端口
$ python manage.py runserver 8080
如果你想更换服务器监听的 IP ,可以将它和端口号写在一起作为参数。比如,监听所有公网 IP(这尤其有用,当你想通过网络展示给其他人时),像这样:
$ python manage.py runserver 0:8000
改变模型需要这三步:
# 编辑 models.py 文件,改变模型。
python manage.py makemigrations uiclab # 运行为模型的改变生成迁移文件。uiclab 是你项目下的 app
python manage.py migrate #运行来应用数据库迁移。
通过阅读 Django-admin 文档 了解manage.py 工具的更多信息。
3. Python3.x 下 建立 MySQL 和 python的链接
# 安装
pip install wheel
pip install pymysql
# django in settings.py
import pymysql
pymysql.install_as_MySQLdb()
# DATABASES = {
# 'default': {
# 'ENGINE': 'django.db.backends.mysql',
# 'NAME': 'polls',
# 'USER': 'root',
# 'PASSWORD': '123456',
# 'HOST': '127.0.0.1',
# 'PORT': '3306',
# }
# }
参考资料
https://stackoverflow.com/questions/454854/no-module-named-mysqldb
https://www.cnblogs.com/hiddenfox/p/virtualenv-python3.html