远程办公,在家有大把的时间学习新的东西,我挑了一个Django,和python密切相关,今日把这两天安装Django的过程分享给大家。
主要包括:
原料准备:Python3.7、Django2.2、Mysql5.6
以及依赖包:
zlib-devel-1.2.3-29.el6.i686.rpm
libffi-devel-3.0.5-3.2.el6.i686.rpm
MySQL-devel-5.6.46-1.el6.i686.rpm
MySQL-shared-5.6.46-1.el6.i686.rpm
mysqlclient-1.4.6.tar.gz
pytz
安装遇到的问题,有些问题是在是找不到错误的截图了,口述了。
问题1、安装Python3.7 提示setuptools未成功,安装之后没有pip。然后安装python提示如下错误:
File "/data/tmp/Python-3.7.6/Lib/ensurepip/__init__.py", line 27, in _run_pip
import pip._internal
zipimport.ZipImportError: can't decompress data; zlib not available
导致安装Django会有错误:如:
Traceback (most recent call last):
File "setup.py", line 6, in <module>
from setuptools import setup, find_packages
ModuleNotFoundError: No module named 'setuptools'
No local packages or working download links found for sqlparse
error: Could not find suitable distribution for Requirement.parse('sqlparse')
问题原因:缺少zlib-devel-1.2.3-29.el6.i686.rpm、libffi-devel-3.0.5-3.2.el6.i686.rpm
解决方法:以上两个包。我今天把Python3.7安装了三遍,没有以上两个包,安装了一遍,然后又安装了两遍。
Linux 下保留python2,安装Python3.7的方法:
[root@hadoop ~]# mkdir -p /data/python
[root@hadoop ~]# cd /data/tmp
[root@hadoop tmp]# tar -xvf Python-3.7.6.tgz
[root@hadoop tmp]# cd Python-3.7.6
[root@hadoop Python-3.7.6]# ./configure --prefix=/data/python
[root@hadoop Python-3.7.6]# make && make install
[root@hadoop Python-3.7.6]#
安装之后,修改python2的连接,rm -rf /usr/bin/python
建立软连接ln -s /data/python/bin/python3 /usr/local/bin/python
问题2、pip install mysqlclient 安装mysqlclient报错,提示缺少-lmysqlclient
原因:未安装 MySQL-shared-5.6.46-1.el6.i686.rpm
解决办法:安装MySQL-shared-5.6.46-1.el6.i686.rpm,另外MySQL-devel-5.6.46-1.el6.i686.rpm也是必须安装的,如果没有安装也会报错,错误信息是在找不到了。
安装过程,可以下载之后。通过 python setup.py install
其他:剩下就是安装Django,安装之前确保安装了 pytz
在使用Django中遇到的问题就是,Django2.2支持的Mysql版本为5.6及以上。否则会报django.db.migrations.exceptions.MigrationSchemaMissing: Unable to create the django_migrations table ((1064, "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(6) NOT NULL)' at line 1"))
安装Django2.2的过程大概就是,下载
wget https://media.djangoproject.com/releases/2.2/Django-2.2.10.tar.gz
解压
tar -zxvf Django-2.2.10.tar.gz
安装
cd Django-2.2.10
python setup.py install
安装之后修改一下环境变量
vi .bash_profile
增加DJANGO
export DJANGO='/data/python/lib/python3.7/site-packages/Django-2.2.10-py3.7.egg/django'
PATH=$DJANGO/bin:$PYTHON_HOME/bin:$PATH:$HOME/bin
配置第一个项目
django-admin startproject HelloWorld
修改settings.py
ALLOWED_HOSTS = [] 修改为ALLOWED_HOSTS = ['*']
以上弄好之后,就是启动Django的项目
cd HelloWorld
python manage.py runserver 0.0.0.0:8000
然后访问:我的linux服务器,在本地windows下配置了hosts。