一、centos7安装python3

1、下载python3的源码包

  下载地址:https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tgz

cd /opt            进入/opt目录,一般安装的软件都放在此目录下
[root@localhost opt]# wget https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tgz

  下载完成,如下图:

2、安装python前的库环境,非常重要

  安装python3之前,解决环境依赖,提前安装好这些软件包,日后就不会出现很多坑。

yum install gcc patch libffi-devel python-devel  zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel -y

3、解压缩源码包

  下载好python3源码包之后,解压缩

[root@localhost opt]# tar -xvf Python-3.6.2.tgz

  完成后查看,如下:

  进入Python-3.6.2目录

[root@localhost opt]# cd Python-3.6.2

4、编译且安装

  1)释放编译文件makefile,这个makefile就是用来编译安装的,为下一步的编译做准备,可以通过在 configure 后加上参数来对安装进行控制

[root@localhost Python-3.6.2]# ./configure --prefix=/opt/python36/

  上条命令的意思是将该软件安装在 /opt/python36/ 下面,执行文件会安装在 /opt/python36/bin(而不是默认的/usr/local/bin),资源文件就会安装在 /opt/python36/share(而不是默认的/usr/local/share)。

  同时一些软件的配置文件你可以通过指定 --sys-config= 参数进行设定。有一些软件还可以加上 --with、--enable、--without、--disable 等等参数对编译加以控制,你可以通过允许 ./configure --help 察看详细的说明帮助。

  上条命令执行结果产生了Makefile文件,如下图:

  2)make

[root@localhost Python-3.6.2]# make

  这一步就是编译,大多数的源代码包都经过这一步进行编译.

  make 的作用是开始进行源代码编译,以及一些功能的提供,这些功能由他的 Makefile 设置文件提供相关的功能,比如 make install 一般表示进行安装,make uninstall 是卸载,不加参数就是默认的进行源代码编译。

  make 是 Linux 开发套件里面自动化编译的一个控制程序,他通过借助 Makefile 里面编写的编译规范进行自动化的调用 gcc 、ld 以及运行某些需要的程序进行编译。一般情况下,他所使用的 Makefile 控制代码,由 configure 这个设置脚本根据给定的参数和系统环境生成。

  3)make install(在这一步,会生成/opt/python36)

[root@localhost Python-3.6.2]# make install

  这条命令来进行安装(当然有些软件需要先运行 make check 或 make test来进行一些测试),这一步一般需要你有 root 权限(因为要向系统写入文件)。

  上述3步完成后,/opt/python36/bin目录下就有了python3.6和pip3.6,如下:

5、配置python3.6的环境变量

[root@localhost ~]# echo $PATH                 查看环境变量

  在上面的输出结果(假设为/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)之上加入路径/opt/python36/bin,再重新赋给变量PATH,即

  PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/opt/python36/bin

  这个变量赋值操作,只是临时生效,需要写入到/etc/profile文件,才能永久生效

[root@localhost ~]# vi /etc/profile

  在文件最后写入

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/opt/python36/bin

  保存退出

[root@localhost ~]# source /etc/profile          读文件,使得环境变量生效

  注意:也可以通过配置软链接代替此过程,但是上述过程较好,因此软链接方法不作过多介绍。

6、在linux上开启一个django项目

  1)下载django

[root@localhost ~]# pip3 install django
[root@localhost ~]# pip3 list 查看有哪些python包

  2)创建django项目(注意所在目录,会在命令执行时的目录下生成项目)

[root@localhost opt]# django-admin startproject mysite

  3)创建应用app01

[root@localhost opt]# cd mysite
[root@localhost mysite]# python manage.py startapp app01

  4)编写视图函数

  5)修改配置文件settings.py的ALLOW_HOSTS参数

[root@localhost mysite]# vi ./mysite/settings.py
将settings.py中的ALLOW_HOSTS=[] 改为 ALLOW_HOSTS=['*']

  6)开启django服务器

[root@localhost mysite]# python manage.py runserver 0.0.0.0:8000

  此时,打开windows浏览器,输入服务器的ip(服务器对外ip,而非上面的0.0.0.0)和端口号8000即可访问django项目。

7、yum工具注意事项

  如果你用yum命令,提示yum进程被锁定,无法使用时可以通过命令

ps -ef|grep yum           查看yum进程

  有结果则表示另一个进程也在用yum,而yum只能有一个进程同时使用

二、Linux下安装、配置virtualenv

  在使用 Python 开发的过程中,工程一多,难免会碰到不同的工程依赖不同版本库的问题;或者是在开发过程中不想让物理环境里充斥各种各样的库,引发未来的依赖灾难。此时,我们需要对于不同的工程使用不同的虚拟环境来保持开发环境以及宿主环境的清洁。

  这里,就要隆重介绍 virtualenv,一个可以帮助我们管理不同 Python 环境的绝好工具。

  virtualenv 可以在系统中建立多个不同并且相互不干扰的虚拟环境。virtualenv 就是一个虚拟解释器,是基于物理环境下的python解释器虚拟/分身出的解释器 。

1、通过物理环境的pip下载virtualenv工具

pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple virtualenv

  参数 -i 指定清华源下载pip的包,下载后linux中就多了一个virtualenv命令,如下:

2、创建一个虚拟环境

[root@localhost opt]# virtualenv --no-site-packages --python=python3  s15venv1

  参数解释:
    --no-site-packages         这是构建干净,隔离的模块

    --python=python3    这个参数是指定虚拟环境以哪一个物理解释器为基础的

    s15venv1                  这个是一个是虚拟环境的名字,当前目录下会创建这么一个文件夹

3、进入虚拟环境目录,激活虚拟环境

  找到虚拟环境目录下bin目录下的activate文件

[root@localhost opt]# source ./s15venv1/bin/activate    激活虚拟环境
(s15venv1) [root@localhost opt]# echo $PATH 检查环境变量
(s15venv1) [root@localhost opt]# which python3 检查虚拟环境的解释器是否正常
(s15venv1) [root@localhost opt]# which pip3 检查虚拟环境的解释器是否正常

  激活虚拟环境,原理就是修改了PATH变量,path是有顺序执行的。

4、在虚拟环境中安装django

(s15venv1) [root@localhost opt]# pip3 install django==1.11.11
(s15venv1) [root@localhost opt]# pip3 list 查看是否安装成功
(s15venv1) [root@localhost opt]# django-admin startproject mysite1 创建django项目

  编辑配置文件settings.py文件中的ALLOW_HOSTS参数

(s15venv1) [root@localhost opt]# vi ./mysite1/mysite1/settings.py

  启动服务器

(s15venv1) [root@localhost opt]# python ./mysite1/manage.py runserver 0.0.0.0:8000

  使用浏览器访问服务器即可

(s15venv1) [root@localhost opt]# deactivate                   退出虚拟环境

三、确保开发环境的一致性

  假设我们在本地开发环境,准备好了项目+依赖包环境,现在需要将项目上传至服务器,上线发布,那么就要保证服务器的python环境一致。解决方案如下步骤:

1、通过命令导出开发环境依赖的包

(s15venv1) [root@localhost opt]# pip3 freeze > requirements.txt

  上面命令将会创建一个 requirements.txt 文件,其中包含了当前环境中所有包及各自版本的简单列表。可以使用 “pip list”在不产生requirements文件的情况下, 查看已安装包的列表,如下:

2、将产生的requirements.txt文件传至(可以使用scp命令)生产环境的服务器,在服务器下创建virtualenv,在venv中导入项目所需的模块依赖

(prodEnv) [root@localhost opt]# pip3 install -r requirements.txt

  上面命令执行后会在生产服务器对应项目的虚拟环境中导入与开发环境中相同的且版本一致的依赖包。

、虚拟环境之virtualenvwrapper

  virtualenv 的一个最大的缺点就是:每次开启虚拟环境之前要去虚拟环境所在目录下的 bin 目录下 source 一下 activate,这就需要我们记住每个虚拟环境所在的目录,并且还有可能你忘记了虚拟环境放在哪。

  一种可行的解决方案是,将所有的虚拟环境目录全都集中起来,例如/opt/all_venv/,并且针对不同的目录做不同的事。

  另一种是使用virtualenvwrapper管理你的虚拟环境(virtualenv),其实他就是统一管理虚拟环境的目录,并且省去了source的步骤。下面详细介绍此方法的使用步骤:

1、安装virtualenvwrapper

pip3 install virtualenvwrapper

  注意:此命令必须得在物理解释器下执行,不要在虚拟环境下

2、设置Linux的环境变量,每次启动就加载virtualenvwrapper

  确保/etc/profile文件的环境变量PATH中,物理解释器的python在最前面,如下图所示:

  把下面几行代码添加到 ~/.bashrc文件中

vim ~/.bashrc                  打开用户家目录下的隐藏文件.bashrc,在文件最后写入下面代码
export WORKON_HOME=~/Envs   # 设置virtualenv的统一管理目录,用户家目录下产生Envs目录
export VIRTUALENVWRAPPER_VIRTUALENV_ARGS='--no-site-packages'
# 上一行表示添加virtualenvwrapper的参数,生成干净隔绝的环境
export VIRTUALENVWRAPPER_PYTHON=/opt/python36/bin/python3 # 指定python解释器
source /opt/python36/bin/virtualenvwrapper.sh # 执行virtualenvwrapper安装脚本

  执行下面命令,读取文件,使得上面代码生效,然后就可以使用virtalenvwrapper工具了

source ~/.bashrc

  或者也可以重新登录会话,使得配置生效,如下:

3、virtualenvwrapper工具基本使用

mkvirtualenv  env1    # 自动下载并创建虚拟环境env1,且激活此虚拟环境
workon env1 # 激活虚拟环境env1,输入workon tab键可查看当前有哪些虚拟环境
deactivate # 退出虚拟环境
rmvirtualenv env1 # 删除虚拟环境 env1,需要先退出虚拟环境

4、其他常用命令

lsvirtualenv            # 列举所有的环境
cdvirtualenv # 进入当前已激活的虚拟环境所在的目录
cdsitepackages # 进入当前激活的虚拟环境的,python包的目录
lssitepackages # 显示 site-packages 目录中的内容。

  完整官网介绍:https://virtualenvwrapper.readthedocs.io/en/latest/command_ref.html

5、pycharm下创建虚拟环境

  参考博客:https://www.cnblogs.com/pyyu/p/9015317.html

五、vim

  参考博客:https://www.cnblogs.com/pyyu/p/9460649.html

六、其他

yum install wget -y             安装wget命令

Linux(4)- centos7安装python3、Linux下安装、配置virtualenv、确保开发环境的一致性、虚拟环境之virtualenvwrapper、vim的更多相关文章

  1. Mac 下 WebStorm 配置go语言开发环境

    一.下载安装WebStorm,我的是 二.在WebStorm 中安装go插件 三.在本机安装go开发环境,直接装pkg文件,https://golang.org/doc/install 四.在WebS ...

  2. centos7 python3.5 下安装paramiko

    centos7 python3.5 下安装paramiko 安装开发包 yum install openssl openssl-devel python-dev -y 安装pip前需要前置安装setu ...

  3. Linux 安装 python3.6 ,并且配置 Pycharm 远程连接开发

    Linux下安装Python3.6和第三方库   如果本机安装了python2,尽量不要管他,使用python3运行python脚本就好,因为可能有程序依赖目前的python2环境, 比如yum!!! ...

  4. Python3.X下安装Scrapy

    Python3.X下安装Scrapy (转载) 2017年08月09日 15:19:30 jingzhilie7908 阅读数:519 标签: python   相信很多同学对于爬虫需要安装Scrap ...

  5. windows/Linux下设置ASP.Net Core开发环境并部署应用

    10分钟学会在windows/Linux下设置ASP.Net Core开发环境并部署应用 创建和开发ASP.NET Core应用可以有二种方式:最简单的方式是通过Visual Studio 2017 ...

  6. centos6.9安装python3.6.9独立的virtualenv环境,并且能正确引入ssl

    centos6.9安装python3.6.9独立的virtualenv环境,并且能正确引入ssl 1.编译安装python3.6环境# 安装依赖yum -y install zlib-devel bz ...

  7. Linux下搭建gtk+2.0开发环境

    安装gtk2.0 sudo apt-get install libgtk2.0-dev 查看 2.x 版本 pkg-config --modversion gtk+-2.0 #有可能需要sudo ap ...

  8. mac下配置Node.js开发环境、express安装、创建项目

    mac下配置Node.js开发环境.express安装.创建项目 一.node.js的安装 去官网下载对应的平台版本就可以了,https://nodejs.org 二.express安装 sudo n ...

  9. 【Linux 操作系统】阿里云服务器 操作实战 部署C语言开发环境(vim配置,gcc) 部署J2EE网站(jdk,tomcat)

    . 作者 :万境绝尘  转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/18964835 . 博客总结 : 设置SecureCRT ...

随机推荐

  1. 跟着百度学PHP[17]-PHP扩展CURL的模拟登陆并获取数据

    这两天也不知道怎么,学习效率低.很无奈. 如何知道要去URL该怎么填写呢?就是填写表单中的Action内容: tempnam() 函数创建一个具有唯一文件名的临时文件. <?php header ...

  2. hive执行更新和删除操作

    Hive从0.14版本开始支持事务和行级更新,但缺省是不支持的,需要一些附加的配置.要想支持行级insert.update.delete,需要配置Hive支持事务. 一.Hive具有ACID语义事务的 ...

  3. phoneGap 3.5 eclipise 模拟器调试

    最近想搞phoneGap开发,可是一看 http://www.phonegapcn.com/ phoneGap中文网 FUCK .phoneGap 还在1.0.0 里混呢.现在phoneGap 3.5 ...

  4. c# 获取某日期所在周的第一天和最后一天(转)

    using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace WyfC ...

  5. C#高级学习群欢迎你(群号 128874886)

    C#高级学习群,有着C# ,Asp.net ,Wpf等技术经验相当丰富的工程师,秉承着刘群主开源共享的精神,为新手和高手们提供了良好的学习交流平台,自创群以来,为群员解决了不少的技术难题,大大提高了学 ...

  6. 差异:git clone , git fetch, git pull和git rebase

    随笔 - 96  文章 - 1  评论 - 6   Git Pull据我所知,当你使用git pull时,它将会获取远程服务器(你请求的,无论什么分支)上的代码,并且立即合并到你的本地厂库,Pull是 ...

  7. 【Mac + Git】之git status中文文件名编码问题解决

    一.现象: 命令行输入:git status时,显示中文名乱码问题 二.解决办法: 命令行输入: git config --global core.quotepath false 通过将git配置变量 ...

  8. python read文件内容的iter方式

    遍历file的方式 iter(lambda: f.read(4096), "")等价与while True: data = f.read(4096) if not data: br ...

  9. sed awk文本处理教程

    sed全名叫stream editor,流编辑器,用程序的方式来编辑文本,相当的hacker啊.sed基本上就是玩正则模式匹配,所以,玩sed的人,正则表达式一般都比较强. 把my字符串替换成Hao ...

  10. 用dnSpy破解某旅游系统5.2版。

    某系统是网上最常见也是目前最好用的旅游站系统之一,5.1版本之前采用的maxtocode加壳后可以用de4dot反混淆后破解.5.1版本以后用de4dot无法脱壳. 本文仅限学习和讨论,请勿做侵权使用 ...