一、CentOS 上部署Python3
1、安装依赖包
yum -y install zlib-devel bzip2-devel openssl-devel sqlite-devel readline-devel curl epel-release gcc
2、官网下载python原码包
curl -o python3.6.tgz https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz
3、解压安装
tar -xf Python-3.6.5.tgz -C /usr/local/src/
4、修改配置文件
首先进入上一步解压的目录
cd /usr/local/src/Python-3.6.5/
执行如下命令,取消对应位置的注释
sed -ri ‘s/^#readline/readline/‘ Modules/Setup.dist
sed -ri ‘s/^#(SSL=)/\1/‘ Modules/Setup.dist
sed -ri ‘s/^#(_ssl)/\1/‘ Modules/Setup.dist
sed -ri ‘s/^#([\t]*-DUSE)/\1/‘ Modules/Setup.dist
sed -ri ‘s/^#([\t]*-L\$(SSL))/\1/‘ Modules/Setup.dist
5、开始编译安装
./configure --enable-shared
--enable-shared 指定安装共享库,共享库在使用用其他需调用用python的软件时会用用到,比比如使用用mod_wgsi连接Apache与python时需要
make -j 2 && make install
-j cpu核心心数
6、配置共享库文文件
1)为所有用用户设置共享库目目录
#cd /usr/local/src/Python-3.6.5/
#cp libpython3.6m.so.1.0 /usr/local/lib64/
#cp libpython3.6m.so.1.0 /usr/lib/
#cp libpython3.6m.so.1.0 /usr/lib64/
2)刷新环境变量
#source /etc/profile
7、测试python
python3
Python 3.6.5 (default, Mar 29 2019, 17:13:23)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-36)] on linux
Type "help", "copyright", "credits" or "license" for more information.
exit()
8、测试 pip3
pip3 -V
pip 9.0.3 from /usr/local/lib/python3.6/site-packages (python 3.6)
二、使用第三方的虚拟工具 Virtualenvwrapper
2.1 安装virtualenvwrapper 提供了一系列命令使得和虚拟环境?作变得愉快许多。它把你所有的虚拟环境都放在一个地方。更重要的是,你只需运行一个命令即可进入到你的虚拟环境,就不必像之前需要先进如虚拟环境的目录下安装(确保 virtualenv 已经安装了)
pip3 install virtualenvwrapper
2.2 修改默认的环境目录:
cat ~/.bashrc
.bashrc
User specific aliases and functions
alias rm=‘rm -i‘
alias cp=‘cp -i‘
alias mv=‘mv -i‘
Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
#指定解释器
export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python3.6
#这个可以自定义 虚拟环境存放目录
export WORKON_HOME=~/.virtualenv
#项目存放目录,需要自己创建
export PROJECT_HOME=~/.virtualenv/project_data
#自动加载virtualenvmrapper
source /usr/local/bin/virtualenvwrapper.sh
2.3 创建存放虚拟环境的目录
mkdir ~/.virtualenv
此目录应该和上面的 WORKON_HOME 变量的值相同
2.4 初始化一下
source ~/.bashrc
2.5 基本使用: 创建一个虚拟环境:
mkvirtualenv test
2.6 退出虚拟环境:
deactivate
[[email protected] ld.so.conf.d]# workon test
(test) [[email protected] test]# deactivate
2.7 进入虚拟环境:
[[email protected] ld.so.conf.d]# workon
python3
test
[[email protected] ld.so.conf.d]# workon test
(test) [[email protected] test]#
2.8 创建项目:
(test) [[email protected] test]# mkproject test1
Using base prefix ‘/usr/local‘
New python executable in /root/.virtualenv/test1/bin/python3.6
Also creating executable in /root/.virtualenv/test1/bin/python
Installing setuptools, pip, wheel...
done.
virtualenvwrapper.user_scripts creating /root/.virtualenv/test1/bin/predeactivate
virtualenvwrapper.user_scripts creating /root/.virtualenv/test1/bin/postdeactivate
virtualenvwrapper.user_scripts creating /root/.virtualenv/test1/bin/preactivate
virtualenvwrapper.user_scripts creating /root/.virtualenv/test1/bin/postactivate
virtualenvwrapper.user_scripts creating /root/.virtualenv/test1/bin/get_env_details
Creating /root/.virtualenv/project_data/test1
Setting project for test1 to /root/.virtualenv/project_data/test1
(test1) [[email protected] test1]# ls
(test1) [[email protected] test1]# ls /root/.virtualenv/project_data/
test test1
2.9 列出可用的运行环境:
(test1) [[email protected] test1]# lsvirtualenv
python3
test1
test
2.10列出当前环境安装的包:
lssitepackages:
(test1) [[email protected] test1]# lssitepackages
easy_install.py pip-19.0.3.dist-info pycache setuptools-40.8.0.dist-info wheel-0.33.1.dist-info
pip pkg_resources setuptools wheel
2.11 创建临时运行环境:
mktmpenv
[[email protected] test1]# mktmpenv
Using base prefix ‘/usr/local‘
New python executable in /root/.virtualenv/tmp-4aa130f4957b04a/bin/python3.6
Also creating executable in /root/.virtualenv/tmp-4aa130f4957b04a/bin/python
Installing setuptools, pip, wheel...
done.
virtualenvwrapper.user_scripts creating /root/.virtualenv/tmp-4aa130f4957b04a/bin/predeactivate
virtualenvwrapper.user_scripts creating /root/.virtualenv/tmp-4aa130f4957b04a/bin/postdeactivate
virtualenvwrapper.user_scripts creating /root/.virtualenv/tmp-4aa130f4957b04a/bin/preactivate
virtualenvwrapper.user_scripts creating /root/.virtualenv/tmp-4aa130f4957b04a/bin/postactivate
virtualenvwrapper.user_scripts creating /root/.virtualenv/tmp-4aa130f4957b04a/bin/get_env_details
This is a temporary environment. It will be deleted when you run ‘deactivate‘.
2.12 临时环境退出即删除:
(tmp-4aa130f4957b04a) [[email protected] tmp-4aa130f4957b04a]# deactivate
Removing temporary environment: tmp-4aa130f4957b04a
Removing tmp-4aa130f4957b04a...
2.13 删除虚拟环境:
rmvirtualenv
[[email protected] .virtualenv]# workon
python3
test1
test
[[email protected] .virtualenv]# rmvirtualenv python3
Removing python3...
[[email protected] .virtualenv]# workon
test1
test
2.14 在虚拟环境安装包
所有的虚拟环境都在 ~/.virtualenv/project_data下,都是独立的,互不影响,在虚拟环境中安装包,使用pip即可,无需root权限
[[email protected] .virtualenv]# workon test
(test) [[email protected] test]# pip install selenium
Collecting selenium
Downloading https://files.pythonhosted.org/packages/80/d6/4294f0b4bce4de0abf13e17190289f9d0613b0a44e5dd6a7f5ca98459853/selenium-3.141.0-py2.py3-none-any.whl (904kB)
100% |████████████████████████████████| 911kB 15kB/s
Collecting urllib3 (from selenium)
Downloading https://files.pythonhosted.org/packages/62/00/ee1d7de624db8ba7090d1226aebefab96a2c71cd5cfa7629d6ad3f61b79e/urllib3-1.24.1-py2.py3-none-any.whl (118kB)
100% |████████████████████████████████| 122kB 11kB/s
Installing collected packages: urllib3, selenium
Successfully installed selenium-3.141.0 urllib3-1.24.1
(test) [[email protected] test]# pip list
Package Version
pip 19.0.3
selenium 3.141.0
setuptools 40.8.0
urllib3 1.24.1
wheel 0.33.1
(test) [[email protected] test]# deactivate
切换到env_python3.6查看《没有selenium包》:
[[email protected] test]# workon test1
(test1) [[email protected] test1]# pip list
Package Version
pip 19.0.3
setuptools 40.8.0
wheel 0.33.1
原文地址:https://blog.51cto.com/1054054/2382120