一、yum安装pip
# yum -y install epel-release   #Centos6.8安装epel源
# yum -y install python-pip
手动安装pip
# wget --no-check-certificate https://pypi.python.org/packages/source/s/setuptools/setuptools-18.0.1.tar.gz
# tar xf setuptools-18.0.1.tar.gz
# cd setuptools-18.0.1
# python setup.py install
# wget --no-check-certificate https://pypi.python.org/packages/source/p/pip/pip-1.5.4.tar.gz
# tar -xf pip-1.5.4.tar.gz
# cd pip-1.5.4
# python setup.py install
# pip install --upgrade pip

二、编译安装python3
[root@web01 ~]# wget https://www.python.org/ftp/python/3.6.0/Python-3.6.0.tgz
[root@web01 ~]# tar xf Python-3.6.0.tgz
[root@web01 ~]# cd Python-3.6.0
[root@web01 Python-3.6.0]# ./configure --with-ssl
[root@web01 Python-3.6.0]# make
[root@web01 Python-3.6.0]# make install

编译安装时报以下错误的解决办法:
zipimport.ZipImportError: can't decompress data; zlib not available
1、打开终端,输入一下命令安装zlib相关依赖包:
[root@web01 ~]# yum -y install zlib*
2、进入 python安装包,修改Module路径的setup文件:
[root@web01 Python-3.6.0]# vim Module/Setup
找到一下一行代码,去掉注释:
#zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz
去掉注释
zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz
3、重新进入终端,进入python的安装包路径下执行:
[root@web01 Python-3.6.0]# ./configure --with-ssl
[root@web01 Python-3.6.0]# make && make install

三、创建虚拟运行环境
[root@web01 ~]# mkdir python3-env
[root@web01 ~]# cd python3-env
[root@web01 python3-env]# pyvenv env                      #创建名称为env的虚拟环境(或使用python3 -m venv env命令)
[root@web01 python3-env]# ls
env
[root@web01 python3-env]# source env/bin/activate   #进入虚拟环境
(env) [root@web01 python3-env]# deactivate              #退出虚拟环境

进入虚拟环境用pip安装模块报以下错误解决办法
pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available
[root@web01 Python-3.6.0]# yum -y install openssl-devel   #ubantu,debian安装apt-get install openssl-dev
[root@web01 Python-3.6.0]# vim Modules/Setup                #编辑Setup文件去掉下图中几行的注释

[root@web01 Python-3.6.0]# ./configure --with-ssl

四、虚拟环境的工作原理(主要就是操作环境变量):
Python在非虚拟环境下的路径:
[root@web01 ~]# which python
/usr/bin/python

激活虚拟环境再次查看Python路径:
(env) [root@web01 python3-env]# source env/bin/activate
(env) [root@web01 python3-env]# which python
/root/python3-env/env/bin/python

$PATH环境变量在激活前后也不一样了
[root@web01 ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
[root@web01 python3-env]# source env/bin/activate
(env) [root@web01 python3-env]# echo $PATH
/root/python3-env/env/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

注:
     创建python2的虚拟环境需要先安装pip install virtualenv
     virtualenv模块使用方法和python3的pyvenv模块一样
     Python3默认已经安装了pyvenv模块

Python3编译安装以及创建虚拟运行环境的更多相关文章

  1. 安装python虚拟运行环境,linux下轻松切换python2和python3

    一.查询系统采用的python版本 $ python --version Python 3.7.3 系统采用的python版本为3.7.3 以下查询py3和py2的目录: $ which python ...

  2. 在windows下使用多版本Python安装相应的虚拟开发环境

    在windows下面使用多版本Python安装相应的虚拟开发环境   在搭建一个项目的时候,希望使用最新版的Python3.7版本,但是Python3.6的版本也要留下,那么问题来了,如何解决这个问题 ...

  3. Linux学习笔记之Python3的安装以及创建虚拟环境(CentOS)

    安装python3 一.安装需要编译的关联库 yum instal -y zlib zlib-devel (根据自己系统的情况,安装需要的关联库,同样用yum安装即可) yum install ope ...

  4. 【python安装】Windows上安装和创建python开发环境

    1. 在 windows10 上安装python开发环境 Linux和Mac OS都自带python环境,但是Windows没有,所以需要自行安装. 第1步:访问 python官网,下载Windows ...

  5. python3编译安装

    linux下配置安装python3一.首先,官网下载python3的所需版本.wget https://www.python.org/ftp/python/3.6.0/Python-3.6.0.tgz ...

  6. windows安装React Native开发运行环境

    React Native是什么 React Native是facebook开源的一个用于开发app的框架.React Native的设计理念:既拥有Native (原生) 的用户体验.又保留React ...

  7. 2.1 Python3.5安装以及爬虫需要的环境配置

    之所以选用Python,是因为对于网络爬虫来说,Python是最好上手的一种语言.本文讲述的安装配置都是基于Windows的环境. 另外我想说的是,文中用到的下载链接尽量官方网站上的下载链接,这是我比 ...

  8. python3 编译安装

    前言: Linux下大部分系统默认自带python2.x的版本,最常见的是python2.6或python2.7版本,默认的python被系统很多程序所依赖,比如centos下的yum就是python ...

  9. 在centOS7上安装一套java运行环境

    前提:更换centos的默认yum源,提高下载速度. 备份系统自带的yum源 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS- ...

随机推荐

  1. UUID、GUID、SID、SUSID

    1. UUID: (Universally Unique Identifier) 通用唯一标识符, 是一个标识符标准用于软件架构,由开放软件基金会(OSF)作为分布式计算环境(DCE)的一部分而制作的 ...

  2. javascript call apply

    call 和 apply 都是为了改变某个函数运行时的 context 即上下文而存在的,换句话说,就是为了改变函数体内部 this 的指向.因为 JavaScript 的函数存在「定义时上下文」和「 ...

  3. 前端paging分页,前端设置每页多少条和当前页面的索引,传给后端,数据显示出来

    1.首先引入jquery 2.在引入paging.css和paging.js  这2个我存在百度云上: 链接:https://pan.baidu.com/s/1SPxlBkkx-pNAtLuRLifE ...

  4. rimraf 跨平台删除文件

    利用npm script 来删除文件, "scripts": { "clear": "rm -rf dist" } 但存在一个问题,remo ...

  5. python基础(15)-socket网络编程&socketserver

    socket 参数及方法说明 初始化参数 sk = socket.socket(参数1,参数2,参数3) 参数1:地址簇 socket.AF_INET IPv4(默认) socket.AF_INET6 ...

  6. eclipse打包jar包

    项目右键  选择Export 选择java文件夹 选择 JAR file选择包,类,选择导出路径然后 Finish

  7. XMLHttpRequest请求被劫持

    十几个请求中随机一个转到 <html><head><script language="javascript">setTimeout(" ...

  8. python中的双冒号作用

    Python序列切片地址可以写为[开始:结束:步长],其中的开始和结束可以省略. 1. range(n)生成[0,n)区间整数 2. 开始start省略时,默认从第0项开始 3. 结尾省略的时候,默认 ...

  9. jmeter二次开发之java请求

    现在很多公司都用的是微服务,每个服务的请求协议有可能不相同,怎样用jmeter二次开发自己的java请求? 下面是具体的开发步骤: 1,把需要的jar包 添加到maven依赖中 jmeter中java ...

  10. 微信小程序scroll-view不能实现下拉刷新

    一般在列表展示页面,会使用到上拉加载和下拉刷新功能,在scroll-view中有bindscrolltolower事件,可以实现上拉加载功能,但是却没法实现下拉刷新. 如需同时使用两种功能,解决步骤如 ...