首页 > 系统相关 >37、linux下安装python3.6和django

37、linux下安装python3.6和django

时间:2022-10-10 13:34:19浏览次数:85  
标签:python 安装 nfs01 37 django python3.6 pip devel root


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版本的安装;

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​

37、linux下安装python3.6和django_django

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

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

37、linux下安装python3.6和django_python_02

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软件并且连接上了互联网;

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)配置环境变量:

37、linux下安装python3.6和django_python_03

2、对pip、setuptools操作:

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

(2)例如:

37、linux下安装python3.6和django_python_04

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"加入到系统的环境变量中。


标签:python,安装,nfs01,37,django,python3.6,pip,devel,root
From: https://blog.51cto.com/u_11409186/5743277

相关文章

  • 49、django工程(cookie+session)
    49.1、介绍:1、cookie不属于http协议范围,由于http协议无法保持状态,但实际情况,我们却又需要“保持状态”,因此cookie就是在这样一个场景下诞生。cookie的工作原理是,由服务器产......
  • 46、django工程(view)
    46.1、djangoview视图函数说明:1、http请求中产生两个核心对象:(1)http请求:HttpRequest对象。(2)http响应:HttpResponse对象。2、views函数是接收用户请求,处理业务逻辑的函数:46.......
  • Django中related_name作用
    Django中related_name作用相当于我们使用related代替了在通过一个对象查询出多个对象集合时,使用表名_set来获取我先定义两个模型,一个是作者,一个是作者出版的书籍,算是一对......
  • nginx+uwsgi 部署 django项目
    一、nginx:1.目录结构、常用命令和查杀进程:/usr/sbin/nginx:主程序/etc/nginx:存放配置文件/usr/share/nginx:存放静态文件/var/log/nginx:存放日志2.命令:servicenginxsta......
  • Django-debug-toolbar的使用
    Django-debug-toolbar,该工具为我们提供了更加丰富的调试信息,如sql语句,信号,缓存等数据查询。install: pipinstalldjango-debug-toolbar usage:基本配置:1、先......
  • Django2.0——cookie、session的简单处理
    1.cookie设置ifuserResultanduserResult.is_active: response=redirect(to='/') response.set_cookie("username",username,max_age=3600) context["username"]=use......
  • CentOS 7.9 安装 django-3.2.10
    一、CentOS7.9安装django-3.2.10地址https://www.djangoproject.comhttps://github.com/django/django二、安装django先得安装pythonpython3python3-Vpip3-......
  • Solution -「CSTC 2017」「洛谷 P3772」游戏
    \(\mathscr{Description}\)  有\(n\)个随机真值\(x_{1..n}\),已知\(P(x_1=1)=p_1\),对于\(2\lei\len\),\(P(x_i=1\midx_{i-1}=1)=p_i\),\(P(x_i=1\midx_{i......
  • Django 限制字符串展示,超过30个展示...
    defshort_process_all(self):iflen(str(self.process_all))>30:return'{}...'.format(str(self.process_all)[0:29])else:......
  • 基于Django银行取号系统设计与实现-计算机毕业设计源码+LW文档
    摘 要随着信息技术和网络技术的飞速发展,人类已进入全新信息化时代,传统管理技术已无法高效,便捷地管理信息。为了迎合时代需求,优化管理效率,各种各样的管理系统应运而生,各行......