37.1、安装python:

1、python介绍:

python是一种面向对象的,解释型的计算机语言,它的特点是语法简介,优雅,简单易学。1989年诞生,Guido(龟叔)开发。

编译型语言:代码在编译之后,编译成2进制的文件,然后计算机就可用运行了。(C,C++,C#)

解释型语言:它是在运行的时候才编译的。(python,php,shell,ruby,js,java)

脚本语言:指这个语言只有一个单一的功能。(shell,js)

如果本机安装了python2,尽量不要管他,使用python3运行python脚本就好,因为可能有程序依赖目前的python2环境,

比如yum,所以不要动现在的python2环境;

2、安装依赖包:

(1)[root@nfs01 tools]# yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel \
sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel openssl-static openssl

[root@nfs01 tools]# rpm -qa zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel \
readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel openssl-static openssl

sqlite-devel-3.6.20-1.el6_7.2.x86_64

xz-devel-4.999.9-0.5.beta.20091007git.el6.x86_64

ncurses-devel-5.7-4.20090207.el6.x86_64

openssl-devel-1.0.1e-57.el6.x86_64

tk-devel-8.5.7-5.el6.x86_64

db4-devel-4.7.25-22.el6.x86_64

libpcap-devel-1.4.0-4.20130826git2dbcaa1.el6.x86_64

bzip2-devel-1.0.5-7.el6_0.x86_64

zlib-devel-1.2.3-29.el6.x86_64

gdbm-devel-1.8.0-39.el6.x86_64

readline-devel-6.0-4.el6.x86_64

libffi-devel-3.0.5-3.2.el6.x86_64

openssl-static-1.0.1e-57.el6.x86_64.rpm

openssl-1.0.1e-57.el6.x86_64

(2)因为python3.7依赖openssl包且版本号最低为1.0.2,而yum源安装的最新版本为1.0.1(centos6,在centos7下是1.0.2),

适用于python3.7以下的版本,所以需要下载新的openssl安装包:如果使用低版本的openssl会导致python无法导入ssl,

使用“pip install package” 命令安装python扩展库时会报“pip is configured with locations that require TLS/SSL,

however the ssl module in Python is not available”的错误;

下载地址为:http://www.openssl.org/source/openssl-1.0.2j.tar.gz

(3)安装openssl-1.0.2:

[root@nfs01 tools]# rz -y

rz waiting to receive.

Starting zmodem transfer. Press Ctrl+C to cancel.

Transferring openssl-1.0.2j.tar.gz...

100% 5183 KB 5183 KB/sec 00:00:01 0 Errors

[root@nfs01 tools]# tar -xzf openssl-1.0.2j.tar.gz

#openssl配置是用config,而不是configure,另外openssl编译安装依赖zlib动态库,所以一定要shared zlib

[root@nfs01 tools]# ./config --prefix=/usr/local/openssl_1.0.2 shared zlib

[root@nfs01 tools]# make && make install

#配置环境变量,LD_LIBRARY_PATH环境变量主要用于指定查找共享库:

[root@nfs01 tools]# vim /etc/profile

export LD_LIBRARY_PATH=/usr/local/openssl_1.0.2/lib

[root@nfs01 tools]# source /etc/profile

3、安装python软件:

下载官网: https://www.python.org/downloads/source/;

[root@nfs01 tools]# rz -y

rz waiting to receive.

Starting zmodem transfer. Press Ctrl+C to cancel.

Transferring Python-3.7.0.tgz...

100% 22212 KB 22212 KB/sec 00:00:01 0 Errors

[root@nfs01 tools]# tar -xzf Python-3.7.0.tgz

[root@nfs01 tools]# cd Python-3.7.0

[root@nfs01 Python-3.7.0]# mkdir /application -p

[root@nfs01 Python-3.7.0]# ./configure --prefix=/application/python3.7.0 --with-openssl=/usr/local/openssl_1.0.2/ --enable-shared CFLAGS=-fPIC --enable-optimizations

#--with-openssl=/usr/local/openssl_1.0.2/ 指定openssl的位置

#--enable-shared和-fPIC之后可以将python3的动态链接库编译出来,默认情况编译完lib下面只有python3.xm.a这样的文件,

#python本身可以正常使用,但是如果编译第三方库需要python接口的比如caffe等,则会报错。

#--enable-optimizations 使用稳定版本编译

[root@nfs01 Python-3.7.0]# echo $?

0

[root@nfs01 Python-3.7.0]# make

[root@nfs01 Python-3.7.0]# make install

Collecting setuptools

Collecting pip

Installing collected packages: setuptools, pip

#代表安装成功,pip(python库管理工具)和setuptools(python库发布工具)在python包中,安装时随python一起被安装;

Successfully installed pip-10.0.1 setuptools-39.0.1

[root@nfs01 Python-3.7.0]# cd /application

[root@nfs01 application]# ln -s python3.7.0/ python

[root@nfs01 application]# ls -l python

lrwxrwxrwx 1 root root 12 12月 29 16:57 python -> python3.7.0/

4、配置python环境变量:

[root@nfs01 application]# vim /etc/profile

PATH=$PATH:/application/python/bin

export PATH

[root@nfs01 application]# source /etc/profile

5、检查python3是否正常可用:

[root@nfs01 ~]# python3 -V

python3.7: error while loading shared libraries: libpython3.7m.so.1.0: cannot open shared object file: No such file or directory

原因是因为python运行时没有加载到libpython3.7m.so.1.0 这个库文件。

解决方法:

cd /root/tools/Python-3.7.0 #进入python3.7解压后的编译目录

cp libpython3.7m.so.1.0 /usr/local/lib64/

cp libpython3.7m.so.1.0 /usr/lib/

cp libpython3.7m.so.1.0 /usr/lib64/

[root@nfs01 ~]# python3 -V

Python 3.7.0

[root@nfs01 Django-1.10.8]# pip3 -V

pip 10.0.1 from /application/python3.7.0/lib/python3.7/site-packages/pip (python 3.7)

[root@nfs01 Python-3.7.0]# python3.7

Python 3.7.0 (default, Dec 30 2018, 19:07:34)

[GCC 4.4.7 20120313 (Red Hat 4.4.7-16)] on linux

Type "help", "copyright", "credits" or "license" for more information.

>>> import ssl

>>>

6、pip和setuptools的升级:

默认情况下按照以上步骤就可完成python的安装,且已经安装好了pip和setuptools,如何进行升级

(1)安装setuptools:

setuptools是一组Python的distutillsde工具的增强工具,可以让程序员更方便的创建和发布Python包,特别是那些对其他包具有依赖性的状况。

方法一:

yum安装:yum install python-setuptools #适用于linux系统自带的python版本的安装;

pip升级安装: pip3 install --upgrade setuptools #适用于已经安装过pip软件后的升级操作;

方法二:

手动安装:

下载官网:https://pypi.org/project/setuptools/#files

[root@nfs01 tools]# rz -y

Transferring setuptools-40.6.3.zip...

100% 819 KB 819 KB/sec 00:00:01 0 Errors

[root@nfs01 tools]# unzip setuptools-40.6.3.zip &>/dev/null

[root@nfs01 tools]# cd setuptools-40.6.3

[root@nfs01 setuptools-40.6.3]# python3 setup.py install

Installed /application/python3.7.0/lib/python3.7/site-packages/setuptools-40.6.3-py3.7.egg

Processing dependencies for setuptools==40.6.3

Finished processing dependencies for setuptools==40.6.3

(2)安装pip:

pip 是 Python 包管理工具,该工具提供了对Python 包的查找、下载、安装、卸载,升级的功能,必须要连接互联网。

方法一:

yum安装:yum install python-pip #适用于linux系统自带的python版本的安装;

pip升级安装: pip3 install --upgrade pip #适用于已经安装过pip软件后的升级操作;

方法二:

手动安装;

下载官网:https://pypi.org/project/pip/#history

[root@nfs01 tools]# rz -y

Transferring pip-18.1.tar.gz...

100% 1229 KB 1229 KB/sec 00:00:01 0 Errors

[root@nfs01 tools]# tar -xzf pip-18.1.tar.gz

[root@nfs01 tools]# cd pip-18.1

[root@nfs01 pip-18.1]# python3 setup.py install

Installed /application/python3.7.0/lib/python3.7/site-packages/pip-18.1-py3.7.egg

Processing dependencies for pip==18.1

Finished processing dependencies for pip==18.1

pip常用命令:

pip3 install xxx #安装包,默认是search最新的,也可以带版本号,比如xxx==1.0.3;xxx>=1.0.3;

pip3 uninstall xxx #卸载包;

pip3 install --upgrade xxx #更新包 后可接 “==版本号”;

pip3 show --files xxx #查看已经安装的包,包括版本、安装位置等内容;

pip3 list --outdated #检查哪些包需要更新

pip3 -V #查看pip的版本

pip3 list #查看安装的第三方库

37.2、安装django:

0、

(1)django对应的python版本(2019年12月):

https://docs.djangoproject.com/en/dev/faq/install/#what-python-version-can-i-use-with-django

(2)django版本(2019年12月):

https://www.djangoproject.com/download/

Django按照以下形式命名版本编号:

按照A.B或A.B.C的形式命名版本编号。A.B是主版本号,包含新功能以及对原有功能的改进,每一个新版本都向前兼容,

Django大概每8个月就会发布一个主版本;C是小版本号,包含bug的修改等,每当有需要时就会发布。在Django正式

版本发布之前,还会发布alpha、beta和RC版本。另外Django长期支持的版本用LTS表示。Django推荐使用Python 3

进行开发,而最后一个支持Python 2.7的版本是Django 1.11LTS。

(3)Django被安装到Python的Lib下site-packages;

1、pip安装:

已经安装好了pip软件并且连接上了互联网;

[root@nfs01 tools]# pip3 install django

Collecting django

Downloading https://files.pythonhosted.org/packages/fd/9a/0c028ea0fe4f5803dda1a7afabeed958d0c8b79b0fe762ffbf728db3b90d/Django-2.1.4-py3-none-any.whl (7.3MB)

100% |████████████████████████████████| 7.3MB 6.8kB/s

Collecting pytz (from django)

Downloading https://files.pythonhosted.org/packages/f8/0e/2365ddc010afb3d79147f1dd544e5ee24bf4ece58ab99b16fbb465ce6dc0/pytz-2018.7-py2.py3-none-any.whl (506kB)

100% |████████████████████████████████| 512kB 7.7kB/s

Installing collected packages: pytz, django

Successfully installed django-2.1.4 pytz-2018.7

[root@nfs01 tools]# python3

Python 3.7.0 (default, Dec 30 2018, 19:07:34)

[GCC 4.4.7 20120313 (Red Hat 4.4.7-16)] on linux

Type "help", "copyright", "credits" or "license" for more information.

>>> import django

>>> django.VERSION

(2, 1, 4, 'final', 0)

2、手动安装:

下载官网:https://www.djangoproject.com/download/

[root@nfs01 tools]# rz -y

Transferring Django-2.1.4.tar.gz...

100% 8410 KB 8410 KB/sec 00:00:01 0 Errors --enable-optimizations

[root@nfs01 tools]# tar -xzf Django-2.1.4.tar.gz

[root@nfs01 tools]# cd Django-2.1.4

[root@nfs01 Django-2.1.4]# python3 setup.py install

Installed /application/python3.7.0/lib/python3.7/site-packages/Django-2.1.4-py3.7.egg

Processing dependencies for Django==2.1.4

Searching for pytz==2018.7

Best match: pytz 2018.7

Adding pytz 2018.7 to easy-install.pth file

Using /application/python3.7.0/lib/python3.7/site-packages

Finished processing dependencies for Django==2.1.4

37.3、总结:

python安装完成后会自带pip和setuptools软件;

pip、setuptools的版本受python版本的制约,这一点在下载时会提示,djanjo版本受python版本的制约;

linux系统默认安装的python的版本在2.66-3.0之间,其没有pip和setuptools这两个库管理软件,使用

yum安装的方法是yum install python-pip yum install python-setuptools ;

37.4、补充:windows下对python的相关操作:

1、安装python:

(1)点击python的exe文件即可完成安装,已经完成了pip和setuptools的安装。

(2)配置环境变量:

2、对pip、setuptools操作:

(1)用法和linux下类似,只不过是在系统管理员权限的cmd模式下。

(2)例如:

3、对django的操作:

(1)手动安装django:

下载 Django 压缩包,解压并和Python安装目录放在同一个根目录,进入 Django 目录,执行python setup.py install,

然后开始安装,Django将要被安装到Python的Lib下site-packages。

37.5、注意:

手动或使用pip安装django后,在windows中django-admin默认会被加到"<Python家目录>/Scripts"目录下,在linux

中django-admin默认会被加到"<Python家目录>/bin"目录下。如果django-admin不能用,需要手动将

"<Python家目录>/Lib/site-packages/django/bin"加入到系统的环境变量中。

37、linux下安装python3.6和django的更多相关文章

  1. Linux下安装Python3.3.0

    Linux下安装Python3.3.0_路易_新浪博客 Linux下安装Python3.3.0 (2013-01-08 11:45:37)

  2. 【转】在Linux下安装python3

    原文链接:http://www.cnblogs.com/feng18/p/5854912.html 1.linux下安装python3 a. 准备编译环境(环境如果不对的话,可能遇到各种问题,比如wg ...

  3. Python3.x:Linux下安装python3.6

    Python3.x:Linux下安装python3.6 下载 #先进入download文件夹 cd /home/download #输入命令(下载到当前目录) wget https://www.pyt ...

  4. linux下安装python3(转)

    一.Linux下安装Python 二.Linux下Python安装完成后如何使用pip命令 三.Linux下Python安装完成后如何使用yum命令 四.Linux下安装Anaconda 五.Linu ...

  5. Linux下安装python3.3.2及configrue、make、make install

    一.安装python3.3.2 raspberry的/usr/local/src目录没有权限,可执行如下命令 pi@raspberrypi:~$ sudo chmod -R 777 /usr/loca ...

  6. Linux下安装Python3.6.8并安装包

    一.问题在Linux下面安装Python3.6.8,由于在Linux中的Python是2.7.x的版本因此,我们需要在Linux中新下载一个Python 二.解决1.python的安装(1)下载包利用 ...

  7. Linux下安装Python3的django并配置mysql作为django默认数据库(转载)

    我的操作系统为centos6.5 1  首先选择django要使用什么数据库.django1.10默认数据库为sqlite3,本人想使用mysql数据库,但为了测试方便顺便要安装一下sqlite开发包 ...

  8. Linux下安装Python3和django并配置mysql作为django默认服务器

    我的操作系统为centos6.5 1  首先选择django要使用什么数据库.django1.10默认数据库为sqlite3,本人想使用mysql数据库,但为了测试方便顺便要安装一下sqlite开发包 ...

  9. 环境准备—之—linux下安装python3和pip3

    转自 上海悠悠 https://www.cnblogs.com/yoyoketang/p/10195102.html 前言 centos7 自带有 python,但是却是 python2 版本的 py ...

随机推荐

  1. ln -s 新目录(最后一个目录新建images) 旧目录(删除最后的images目录)

    sudo yum install libvirt virt-install qemu-kvm 默认安装会启用一个NAT模式的bridgevirbr0 启动激活libvirtd服务 systemctl ...

  2. Docker——Registry搭建私有镜像仓库

    前言 在 Docker 中,当我们执行 docker pull xxx 的时候,它实际上是从 registry.hub.docker.com 这个地址去查找,这就是Docker公司为我们提供的公共仓库 ...

  3. Https实践

    https实践 常用端口 ssh 22 telnet 23 ftp 21 rsync 873 http 80 mysql 3306 redis 6379 https 443 dns 53 php 90 ...

  4. linux进阶之SVN集中式版本控制系统篇

    代码上线--版本控制系统 SVN             集中式版本控制系统 git                 分布式版本控制系统 SVN是subversion的缩写,即版本控制系统,是一个开放 ...

  5. STM32之HAL库、标准外设库、LL库(STM32 Embedded Software)-(转载)

    STM32 Embedded Software  工作以来一直使用ST的STM32系列芯片,ST为开发者提供了非常方便的开发库.到目前为止,有标准外设库(STD库).HAL库.LL库 三种.前两者都是 ...

  6. Centos7 搭建vsftpd

    1.安装vsftpd 在线安装:yum -y install vsftpd 离线安装:下载vsftp的rpm包,通过rpm -ivh xxx.rpm安装 2.修改/etc/vsftpd/vsftpd. ...

  7. JS轮播图(网易云轮播图)

    JS 轮播图 写在前面 最聪明的人是最不愿浪费时间的人.--但丁 实现功能 图片自动切换 鼠标移入停止自动播放,显示按钮 点击按钮,实现前后翻 鼠标移入小圆圈,可以跳转到对应图片 点击左右两侧图片部分 ...

  8. 四:net core(.NET 6)使用Filter过滤器拦截webapi方法

    Filter的基本用法 代码在最下方 使用filter过滤器,来实现拦截接口信息.咱们先新建一个项目,在原有的webapi上面,选择添加项目,添加一个类库项目: 我起个名字,就叫 Wsk.Core.F ...

  9. libevent中的事件机制

    libevent是事件驱动的网络库,事件驱动是他的核心,所以理解事件驱动对于理解整个网络库有很重要的意义.       本着从简入繁,今天分析下单线程最简单的事件触发.通过sample下的event- ...

  10. GO语言异常处理02---返回错误

    package main import ( "errors" "fmt" "math" ) /*计算圆面积,同时返回[结果-错误对]*/ f ...