博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python3编译安装以及创建虚拟运行环境
阅读量:5076 次
发布时间:2019-06-12

本文共 2610 字,大约阅读时间需要 8 分钟。

一、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模块

转载于:https://www.cnblogs.com/xwupiaomiao/p/9673800.html

你可能感兴趣的文章
android dialog使用自定义布局 设置窗体大小位置
查看>>
ionic2+ 基础
查看>>
互联网模式下我们更加应该“专注”
查看>>
myeclipse集成jdk、tomcat8、maven、svn
查看>>
查询消除重复行
查看>>
Win 10 文件浏览器无法打开
查看>>
HDU 1212 Big Number(C++ 大数取模)(java 大数类运用)
查看>>
-bash: xx: command not found 在有yum源情况下处理
查看>>
[leetcode]Minimum Path Sum
查看>>
内存管理 浅析 内存管理/内存优化技巧
查看>>
hiho1079 线段树区间改动离散化
查看>>
【BZOJ 5222】[Lydsy2017省队十连测]怪题
查看>>
第二次作业
查看>>
【input】 失去焦点时 显示默认值 focus blur ★★★★★
查看>>
Java跟Javac,package与import
查看>>
day-12 python实现简单线性回归和多元线性回归算法
查看>>
Json格式的字符串转换为正常显示的日期格式
查看>>
[转]使用 Razor 进行递归操作
查看>>
[转]Android xxx is not translated in yyy, zzz 的解决方法
查看>>
docker入门
查看>>