远程办公,在家有大把的时间学习新的东西,我挑了一个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的过程大概就是,下载

解压

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。