安装准备工具:
首先这里,在文章末尾有必须要安装的依赖和包,先安装依赖,再安装python3,否则会出现各种各样的错误。。。。
# yum groupinstall "Developmenttools" # 如果报错
# yum install zlib-devel bzip2-developenssl-devel ncurses-devel sqlite-devel readline-develtk-devel gdbm-develdb4-devel libpcap-devel xz-devel
如果第一步报错的话:因为centos7中的yum已经发生了变化,网上的教程已经落后了。参考RedHat官方解决方法
root账户执行yum group info "Development Tools" (有时候必须要求双引号)
下载python3源码
wget wget https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tar.xz
解压: xz -d Python-3.6.5.tar.xz tar -xvf Python-3.6.5.tar
今日解压文件路径下:cd Python-3.6.5
执行如下代码安装
···························--prefix
选项是配置安装的路径,执行后所有资源文件放在/usr/local/python3
的路径中
# ./configure --prefix=/usr/local/python3 --enable-optimizations
# make
# make install
make编译的时候,一般出现这个-bash: make: command not found提示,是因为安装系统的时候使用的是最小化mini安装,系统没有安装make、vim等常用命令,直接yum安装下即可。
# yum -y install gcc automake autoconf libtool make
还是不行的话:
方法一:
安装gcc命令:
# yum install gcc gcc-c++ autoconf automake
安装make
# yum -y install gcc automake autoconf libtool make
一般执行这两个命令之后就可以正常使用了,如果还是不行的话;
方法二:
执行这个命令:
# yum install imake*
# yum install make*
安装完成之后,我们进入python3的安装路径下,就可以启动python3了。
这时候可以创建软连接,这样我们就可以随地启动python3客户端:
# ln -s /usr/local/python3/bin/python3 /usr/bin/python3
# ln -s /usr/local/python3/bin/pip3.6 /usr/bin/pip3
使用编译安装python3过程中的pip包管理工具,安装virtualenv python环境隔离工具
pip3 install virtualenv
接着:
在~/.bashrc文件中加上:
export PIP_REQUIRE_VIRTUALENV=true
或者让在执行pip的时候让系统自动开启虚拟环境:
export PIP_RESPECT_VIRTUALENV=true
source ~/.bashrc 使其生效
这时候就可以测试建立python3独立环境:
# virtualenv test --python=python3 (可以指定python版本)
# virtualenv --python=/usr/bin/python3 test
激活环境:
# source venv/bin/activate
退出环境:
# deactivate
如果这个时候报错:-bash: virtualenv: command not found,说明你用pip3安装的时候在 /usr/bin/中 还没有创建软连接
# find / -name virtualenv
我的是在:/usr/local/python3/bin/virtualenv
这样子就可以直接去通过原可执行文件创建虚拟:
# /usr/local/python3/bin/virtualenv test
创建软连接,这样可以直接使用virtualenv命令了
# ln -s /usr/local/python3/bin/virtualenv /usr/bin/virtualenv
此时就可以直接:virtualenv --python=/usr/bin/python3 test
easy_install virtualenvwrapper(这个过程有点慢,莫急)
安装时发现 easy_install 马上要被弃用,按照错误提示下载,最后:# sudo pip3 install virtualenvwrappe 安装成功。(注意这里要进入python-3.6.5安装目录下)
此时还不能使用virtualenvwrapper,默认virtualenvwrapper安装在/usr/bin下面,实际上你需要运行virtualenvwrapper.sh文件才行,配置环境
export PIP_REQUIRE_VIRTUALENV=true
export PIP_RESPECT_VIRTUALENV=true
export WORKON_HOME=$HOME/.virtualenvs
source /usr/bin/virtualenvwrapper.sh
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python2.7 #防止环境变量$PATH中已有其它环境的python
到这里,就差不多了
使用virtualenvwrapper工具管理隔离环境命令如下:
列出虚拟环境列表
workon
也可以使用
lsvirtualenv
新建虚拟环境
mkvirtualenv [虚拟环境名称] --python=python3
启动/切换虚拟环境
workon [虚拟环境名称]
删除虚拟环境
rmvirtualenv [虚拟环境名称]
离开虚拟环境
deactivate
下面就可以安装自己所需要的其他的包了。
pip freeze > requirements.txt
pip install -i https://pypi.doubanio.com/simple/ -r requirements.txt (使用豆瓣源安装)
单独使用豆瓣源安装第三方模块:pip install pycryptodome -i https://pypi.doubanio.com/simple/
PS:最后使用的时候,发现python3的 ssl _ssl 模块丢失,最后又
安装依赖:yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel gcc gcc-c++ openssl-devel
2、修改python配置文件,并重新编译安装:
编辑 取消注释 以下几行:
~ python/Modules/Setup.dist
大约在 209 行
209 SSL=/usr/local/ssl
210 _ssl _ssl.c \
211 -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \
212 -L$(SSL)/lib -lssl -lcrypto
重新编译安装Python3
make ## 编译
make install 安装
3、测试:此时import ssl不报错
总结。。。安装python3之前,一定要把乱七八糟的依赖,包全部装好。。
yum install libc6-dev gcc
yum install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm
yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel gcc gcc-c++ openssl-devel
yum install zlib-devel bzip2-developenssl-devel ncurses-devel sqlite-devel readline-develtk-devel gdbm-develdb4-devel libpcap-devel xz-devel
yum group info "Development Tools"
yum install gcc gcc-c++ autoconf automake
yum -y install gcc automake autoconf libtool make
转载请注明转自:https://blog.csdn.net/Owen_goodman/article/details/103614265