centos7部署python3虛擬環境

一、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
[root@redis ld.so.conf.d]# workon test
(test) [root@redis test]# deactivate

2.7 進入虛擬環境:
[root@redis ld.so.conf.d]# workon
python3
test
[root@redis ld.so.conf.d]# workon test
(test) [root@redis test]#

2.8 創建項目:
(test) [root@redis 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) [root@redis test1]# ls
(test1) [root@redis test1]# ls /root/.virtualenv/project_data/
test test1

2.9 列出可用的運行環境:
(test1) [root@redis test1]# lsvirtualenv
python3

test1

test

2.10列出當前環境安裝的包:
lssitepackages:
(test1) [root@redis 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
[root@redis 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) [root@redis tmp-4aa130f4957b04a]# deactivate
Removing temporary environment: tmp-4aa130f4957b04a
Removing tmp-4aa130f4957b04a...

2.13 刪除虛擬環境:
rmvirtualenv
[root@redis .virtualenv]# workon
python3
test1
test
[root@redis .virtualenv]# rmvirtualenv python3
Removing python3...
[root@redis .virtualenv]# workon
test1
test

2.14 在虛擬環境安裝包
所有的虛擬環境都在 ~/.virtualenv/project_data下,都是獨立的,互不影響,在虛擬環境中安裝包,使用pip即可,無需root權限
[root@redis .virtualenv]# workon test
(test) [root@redis 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) [root@redis 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) [root@redis test]# deactivate

切換到env_python3.6查看《沒有selenium包》:
[root@redis test]# workon test1
(test1) [root@redis test1]# pip list
Package Version


pip 19.0.3
setuptools 40.8.0
wheel 0.33.1

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章