centos7安裝python3.6獨立的virtualenv環境
1.編譯安裝python3.6環境
# 安裝依賴
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel
# 獲取編譯安裝python3.6.6
mkdir -p /usr/local/python3
wget https://www.python.org/ftp/python/3.6.6/Python-3.6.6.tgz
tar xf Python-3.6.6.tgz
cd Python-3.6.6
./configure --prefix=/usr/local/python3
make && make install
ln -s /usr/local/python3/bin/python3 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
2.安裝virtualenv虛擬環境
pip3 install virtualenv
# 創建存放虛擬環境的目錄
mkdir -p /usr/local/worksh/jeninks_task/akamai_api_venv
# 創建純凈的虛擬環境
/usr/local/python3/bin/virtualenv --no-site-packages --python=/usr/local/python3/bin/python3.6 /usr/local/worksh/jeninks_task/akamai_api_venv
# 進入虛擬環境安裝必須的python依賴
[root@node5 akamai_api]# source ../akamai_api_venv/bin/activate
(akamai_api_venv) [root@node5 akamai_api]# pip install -r requirement.txt
(akamai_api_venv) [root@node5 akamai_api]# pip list
Package Version
--------------- ---------
asn1crypto 0.24.0
certifi 2019.6.16
cffi 1.12.3
chardet 3.0.4
configparser 3.7.4
cryptography 2.7
edgegrid-python 1.1.1
idna 2.8
ndg-httpsclient 0.5.1
pip 19.2.2
pyasn1 0.4.6
pycparser 2.19
pyOpenSSL 19.0.0
requests 2.22.0
setuptools 41.0.1
six 1.12.0
urllib3 1.25.3
wheel 0.33.4
# 后續可以直接這樣調用獨立環境的腳本
[root@node5 akamai_api]# /usr/local/worksh/jeninks_task/akamai_api_venv/bin/python /usr/local/worksh/jeninks_task/akamai_api/aa.py
centos7環境編譯安裝基於 python3.7.7 的virtualenv和virtualenvwrapper環境
1. 安裝基本的基礎源和epel源為阿里雲的mirrors
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
2.安裝依賴
# bzip2-devel 一定要先安裝,然后編譯python,compress插件依賴
yum install -y gcc gcc-c++ htop telnet iotop iptraf iftop libpng12 make logrotate xinetd ntsysv sysstat perl autoconf libjpeg libjpeg-devel libpng libpng-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel e2fsprogs e2fsprogs-devel krb5-devel libidn libidn-devel libxml2 libxml2-devel libxslt-devel libevent-devel libtool libtool-ltdl bison ntpdate patch vim wget openssh-clients bind-utils
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel
yum install -y mysql-devel python-devel mysql-lib
yum install libffi-devel -y
3.安裝python3.7,最好開screen避免中斷
screen -S python
# 獲取python3.7.7源碼並編譯安裝
cd /usr/local/src
wget https://www.python.org/ftp/python/3.7.7/Python-3.7.7.tgz
tar xf Python-3.7.7.tgz
cd Python-3.7.7
mkdir -p /usr/local/python3
./configure --prefix=/usr/local/python3
make && make install
ln -s /usr/local/python3/bin/python3 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
[root@sz_xxgc_cms_slave01_18_214 Python-3.7.7]# python3 -V
Python 3.7.7
4.安裝虛擬環境
# pip3 install virtualenv
# pip3 install virtualenvwrpper
5. 配置bashrc
# vim ~/.bashrc
export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
source /usr/local/python3/bin/virtualenvwrapper.sh
# source ~/.bashrc # 使其生效
[root@sz_xxgc_cms_slave01_18_214 ~]# mkvirtualenv domain_check
which: no virtualenv in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)
ERROR: virtualenvwrapper could not find virtualenv in your path
解決:
將python環境下的virtualenv拷貝至/usr/bin/目錄下:
# cd /usr/local/python3/bin
# cp virtualenv /usr/bin/
[root@sz_xxgc_cms_slave01_18_214 bin]# mkvirtualenv domain_check
created virtual environment CPython3.7.7.final.0-64 in 1225ms
creator CPython3Posix(dest=/root/.virtualenvs/domain_check, clear=False, global=False)
seeder FromAppData(download=False, pip=latest, setuptools=latest, wheel=latest, via=copy, app_data_dir=/root/.local/share/virtualenv/seed-app-data/v1)
activators BashActivator,CShellActivator,FishActivator,PowerShellActivator,PythonActivator,XonshActivator
virtualenvwrapper.user_scripts creating /root/.virtualenvs/domain_check/bin/predeactivate
virtualenvwrapper.user_scripts creating /root/.virtualenvs/domain_check/bin/postdeactivate
virtualenvwrapper.user_scripts creating /root/.virtualenvs/domain_check/bin/preactivate
virtualenvwrapper.user_scripts creating /root/.virtualenvs/domain_check/bin/postactivate
virtualenvwrapper.user_scripts creating /root/.virtualenvs/domain_check/bin/get_env_details
(domain_check) [root@sz_xxgc_cms_slave01_18_214 bin]# workon domain_check
(domain_check) [root@sz_xxgc_cms_slave01_18_214 bin]# pip list
