热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Centos7下部署两套python版本并存

需求说明:centos7.2系统的开发机器上已经自带了python2.7版本,但是开发的项目中用的是python3.5版本,为了保证Centos系统的正常运行,以及节省机器资源(不想因此再申请另外一台

需求说明:
centos7.2系统的开发机器上已经自带了python2.7版本,但是开发的项目中用的是python3.5版本,为了保证Centos系统的正常运行,以及节省机器资源(不想因此再申请另外一台开发机器部署python3.5),所以需要安装python3.5与python2.7共存的开发环境。具体操作记录如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
1)安装相关包
[root@qd-vpc-rec-dev01 ~] # yum -y install epel-release
[root@qd-vpc-rec-dev01 ~] # yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel
 
2) 编译安装python3.5
[root@qd-vpc-rec-dev01 ~] # yum -y install xz
[root@qd-vpc-rec-dev01 ~] # wget https://www.python.org/ftp/python/3.5.3/Python-3.5.3.tar.xz
[root@qd-vpc-rec-dev01 ~] # tar xf Python-3.5.3.tar.xz -C /usr/local/src/
[root@qd-vpc-rec-dev01 ~] # cd /usr/local/src/Python-3.5.3
[root@qd-vpc-rec-dev01 Python-3.5.3] # ./configure --prefix=/usr/local/python3
[root@qd-vpc-rec-dev01 Python-3.5.3] # make && make install
 
从 Python 3.4 开始就已经自带了pip和easy_install(setuptools 包带的命令) 包管理命令,你可以在  /usr/local/python3/bin/  目录下看到,查看一下已经安装的扩展包:
[root@qd-vpc-rec-dev01 Python-3.5.3] # ll /usr/local/python3/bin/
total 24080
lrwxrwxrwx 1 root root        8 Sep 27 19:40 2to3 -> 2to3-3.5
-rwxr-xr-x 1 root root      109 Sep 27 19:40 2to3-3.5
-rwxr-xr-x 1 root root      250 Sep 27 19:40 easy_install-3.5
lrwxrwxrwx 1 root root        7 Sep 27 19:40 idle3 -> idle3.5
-rwxr-xr-x 1 root root      107 Sep 27 19:40 idle3.5
-rwxr-xr-x 1 root root      222 Sep 27 19:40 pip3
-rwxr-xr-x 1 root root      222 Sep 27 19:40 pip3.5
lrwxrwxrwx 1 root root        8 Sep 27 19:40 pydoc3 -> pydoc3.5
-rwxr-xr-x 1 root root       92 Sep 27 19:40 pydoc3.5
lrwxrwxrwx 1 root root        9 Sep 27 19:40 python3 -> python3.5
-rwxr-xr-x 2 root root 12309757 Sep 27 19:39 python3.5
lrwxrwxrwx 1 root root       17 Sep 27 19:40 python3.5-config -> python3.5m-config
-rwxr-xr-x 2 root root 12309757 Sep 27 19:39 python3.5m
-rwxr-xr-x 1 root root     3088 Sep 27 19:40 python3.5m-config
lrwxrwxrwx 1 root root       16 Sep 27 19:40 python3-config -> python3.5-config
lrwxrwxrwx 1 root root       10 Sep 27 19:40 pyvenv -> pyvenv-3.5
-rwxr-xr-x 1 root root      244 Sep 27 19:40 pyvenv-3.5
[root@qd-vpc-rec-dev01 Python-3.5.3] # /usr/local/python3/bin/pip3 list
DEPRECATION: The default  format  will switch to columns  in  the future. You can use -- format =(legacy|columns) (or define a  format =(legacy|columns)  in  your pip.conf under the [list] section) to disable this warning.
pip (9.0.1)
setuptools (28.8.0)
 
-----------------------------------------------------------------------------------------------------------------------------
如果要更新pip,操作如下:
[root@qd-vpc-rec-dev01 Python-3.5.3] # /usr/local/python3/bin/pip3 install --upgrade pip
[root@qd-vpc-rec-dev01 Python-3.5.3] # /usr/local/python3/bin/pip3 list
-----------------------------------------------------------------------------------------------------------------------------
 
3)创建软连接
[root@qd-vpc-rec-dev01 Python-3.5.3] # ln -s /usr/local/python3/bin/python3 /usr/bin/python3
 
4) 执行python -V查看Python是否安装成功。
[root@qd-vpc-rec-dev01 Python-3.5.3] # python3 -V
Python 3.5.3
 
自带的版本为:
[root@qd-vpc-rec-dev01 Python-3.5.3] # python -V         
Python 2.7.5
 
[root@qd-vpc-rec-dev01 Python-3.5.3] # which python
/usr/bin/python
[root@qd-vpc-rec-dev01 Python-3.5.3] # which python3
/usr/bin/python3
[root@qd-vpc-rec-dev01 Python-3.5.3] # python
Python 2.7.5 (default, Nov  6 2016, 00:28:07)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-11)] on linux2
Type  "help" "copyright" "credits"  or  "license"  for  more  information.
>>>
[root@qd-vpc-rec-dev01 Python-3.5.3] # python3
Python 3.5.3 (default, Sep 27 2017, 19:38:56)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-11)] on linux
Type  "help" "copyright" "credits"  or  "license"  for  more  information.
>>>
 
也就是说,python指令表示的是2.7.5版本,python3指令表示的3.5.3版本。
开发项目里具体使用那个版本的python,就使用对应的全路径的python指令。

推荐阅读
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • 使用Ubuntu中的Python获取浏览器历史记录原文: ... [详细]
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
  • 我们有(据我所知)星型模式SQL数据库中的数据文件。该数据库有5个不同的文件,扩展名为 ... [详细]
  • Vagrant虚拟化工具的安装和使用教程
    本文介绍了Vagrant虚拟化工具的安装和使用教程。首先介绍了安装virtualBox和Vagrant的步骤。然后详细说明了Vagrant的安装和使用方法,包括如何检查安装是否成功。最后介绍了下载虚拟机镜像的步骤,以及Vagrant镜像网站的相关信息。 ... [详细]
  • 本文介绍了使用postman进行接口测试的方法,以测试用户管理模块为例。首先需要下载并安装postman,然后创建基本的请求并填写用户名密码进行登录测试。接下来可以进行用户查询和新增的测试。在新增时,可以进行异常测试,包括用户名超长和输入特殊字符的情况。通过测试发现后台没有对参数长度和特殊字符进行检查和过滤。 ... [详细]
  • Java String与StringBuffer的区别及其应用场景
    本文主要介绍了Java中String和StringBuffer的区别,String是不可变的,而StringBuffer是可变的。StringBuffer在进行字符串处理时不生成新的对象,内存使用上要优于String类。因此,在需要频繁对字符串进行修改的情况下,使用StringBuffer更加适合。同时,文章还介绍了String和StringBuffer的应用场景。 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • 本文介绍了如何使用python从列表中删除所有的零,并将结果以列表形式输出,同时提供了示例格式。 ... [详细]
  • 闭包一直是Java社区中争论不断的话题,很多语言都支持闭包这个语言特性,闭包定义了一个依赖于外部环境的自由变量的函数,这个函数能够访问外部环境的变量。本文以JavaScript的一个闭包为例,介绍了闭包的定义和特性。 ... [详细]
  • Oracle10g备份导入的方法及注意事项
    本文介绍了使用Oracle10g进行备份导入的方法及相关注意事项,同时还介绍了2019年独角兽企业重金招聘Python工程师的标准。内容包括导出exp命令、删用户、创建数据库、授权等操作,以及导入imp命令的使用。详细介绍了导入时的参数设置,如full、ignore、buffer、commit、feedback等。转载来源于https://my.oschina.net/u/1767754/blog/377593。 ... [详细]
  • Linux如何安装Mongodb的详细步骤和注意事项
    本文介绍了Linux如何安装Mongodb的详细步骤和注意事项,同时介绍了Mongodb的特点和优势。Mongodb是一个开源的数据库,适用于各种规模的企业和各类应用程序。它具有灵活的数据模式和高性能的数据读写操作,能够提高企业的敏捷性和可扩展性。文章还提供了Mongodb的下载安装包地址。 ... [详细]
  • 本文讨论了Kotlin中扩展函数的一些惯用用法以及其合理性。作者认为在某些情况下,定义扩展函数没有意义,但官方的编码约定支持这种方式。文章还介绍了在类之外定义扩展函数的具体用法,并讨论了避免使用扩展函数的边缘情况。作者提出了对于扩展函数的合理性的质疑,并给出了自己的反驳。最后,文章强调了在编写Kotlin代码时可以自由地使用扩展函数的重要性。 ... [详细]
  • WhenIusepythontoapplythepymysqlmoduletoaddafieldtoatableinthemysqldatabase,itdo ... [详细]
  • 这篇文章主要介绍了Python拼接字符串的七种方式,包括使用%、format()、join()、f-string等方法。每种方法都有其特点和限制,通过本文的介绍可以帮助读者更好地理解和运用字符串拼接的技巧。 ... [详细]
author-avatar
为我有方
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有