centos7安装python模块_Centos7中部署Python环境

## 搭建Python环境

Centos7默认中只带了Python2.7,现在已经进入3.X时代了,所以我们果断下载3.X,但是我们需要让2.X和3.X共存,避免有些内置东西用到了2.X而出现系统崩溃!!

首先声明:没有特别注释,以下操作都是在根目录`root`下进行操作的(可以使用`cd ~`切换到根目录下)

### 安装依赖

在下载Python3.X之前,我们需要先下载安装依赖:

```bash

yum -y groupinstall "Development tools"

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 libffi-devel -y

```

### 下载Python包

我们这里使用`wget`下载,如果没有`wget`,先需要下载安装:

```bash

yum -y install wget

```

`wget`命令下载安装`Python`包:

```bash

# 我们先切换到一个目录,我这里直接先下载到根目录下

cd ~

wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tgz

```

下载完成之后。

![](http://cdn.qmpython.com/Centos7中Flask部署之Python环境_1576680809000.png)

我们先创建一个目录用于存放解压文件:

```bash

mkdir /usr/local/python3

```

将其解压到:

```bash

# 解压文件,并指定解压到目录

tar -zxvf Python-3.7.0.tgz -C /usr/local/python3

# x:解压,z:,v:显示所有过程,f:使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。

# -C 将压缩包解压到某个目录下

# 解压后会生成Python-3.7.0目录,进入解压后的目录

cd /usr/local/python3/Python-3.7.0

# 初始配置

./configure --prefix=/usr/local/python3 # –prefix选项就是指定软件安装的路径。

# 安装

make && make install

```

![](http://cdn.qmpython.com/Centos7中Flask部署之Python环境_1576680862000.png)

我们看看`/usr/local/python3/Python-3.7.0`目录下生成了好多文件

![](http://cdn.qmpython.com/Centos7中Flask部署之Python环境_1576681425000.png)

我们再看看上面初始的路径下`cd /usr/local/python3`生成的目录:

![](http://cdn.qmpython.com/Centos7中Flask部署之Python环境_1576681595000.png)

最后创建软链接:

```bash

ln -s /usr/local/python3/bin/python3.7 /usr/local/bin/python3

ln -s /usr/local/python3/bin/pip3.7 /usr/local/bin/pip3

```

我们来查看下:

我们来升级`pip3`:

```bash

pip3 install --upgrade pip

```

![](http://cdn.qmpython.com/Centos7中Flask部署之Python环境_1576681668000.png)

## 安装虚拟环境

### 下载安装virtualenv

virtualenv`可以搭建虚拟且独立的python运行环境, 使得单个项目的运行环境与其它项目独立起来,不与其他产生冲突,即安装在虚拟环境里的所有包,均不会对环境外的其他包产生影响,反之,在虚拟环境下运行时只能调用虚拟环境中安装的包,不会调用外部的包。相当于局部和全局之分。

1)`virtualenv`本质上是个`Python`包,下载:

```bash

# 指定国内下载源加快下载速度

pip3 install virtualenv -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com

```

2)我们要直接使用`virtualenv`命令,就需要创建软链接:

```bash

# 先找到virtualenv安装路径

find / -name virtualenv

# 我的是在 ==>> /usr/local/python3/bin/virtualenv

# 创建软链接

ln -s /usr/local/python3/bin/virtualenv /usr/bin/virtualenv

```

3)使用`virtualenv`创建虚拟环境:

```bash

# -p参数指定Python解释器程序路径,这将会使用/usr/local/bin/python3 中的Python解释器。在当前目录下创建虚拟环境

virtualenv -p /usr/local/bin/python3 mfyq_env

```

`mfyq_env`就是新建虚拟环境的目录。`mfyq_env`下拥有`bin、include、lib`三个文件夹。本虚拟环境所有安装的`Python`库将存放在`mfyq_env/lib/pythonX.X/site-packages/`下。 创建虚拟环境就会装好`Python`,会将系统中的拷贝过来。

![](http://cdn.qmpython.com/Centos7中Flask部署之Python环境_1576681750000.png)

4)进入虚拟环境

只有激活之后,才算进入该虚拟环境,否则安装包时,依然是安装在系统全局环境之下:

```bash

source mfyq_env/bin/activate

```

现在我们来查看虚拟环境中的python是哪个版本?

![](http://cdn.qmpython.com/Centos7中Flask部署之Python环境_1576681793000.png)

此时的python默认已经是python3的版本了!

5)退出虚拟环境

```bash

deactivate

```

### 下载安装virtualenvwrapper

上面那种方式的虚拟环境配置简单,使用也很简单,但是需要记住虚拟环境的名字或者路径,鉴于`virtualenv`不便于对虚拟环境集中管理,所以推荐直接使用`virtualenvwrapper`。 `virtualenvwrapper`提供了一系列命令使得和虚拟环境工作变得便利。它把你所有的虚拟环境都放在一个地方。

1)下载

确保`virtualenv`已安装

```bash

pip3 install virtualenvwrapper -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com

```

我们查看:

![](http://cdn.qmpython.com/Centos7中Flask部署之Python环境_1576681894000.png)

已经下载完了。

说明:

进入虚拟环境pip3也一样,他们同为一个

![](http://cdn.qmpython.com/Centos7中Flask部署之Python环境_1576681925000.png)

2)创建目录

```bash

mkdir $HOME/.virtualenvs

```

3)在`.bashrc`中添加

```bash

# 编辑文件

vim .bashrc

#virtualenvwrapper存放虚拟环境目录

export WORKON_HOME=$HOME/.virtualenvs

# 指定python解释器,which python3可查看

export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python3

# 每次登陆用户自动执行下脚本,virtrualenvwrapper会安装到python的bin目录下,所以该路径是python安装目录下bin/virtualenvwrapper.sh,可用find / -name "virtualenvwrapper.sh"查看virtualenvwrapper.sh的路径。

source /usr/local/python3/bin/virtualenvwrapper.sh

```

4)读入配置文件,立即生效

```bash

source ~/.bashrc

```

5)创建虚拟环境

```bash

mkvirtualenv mfyq_env

```

6)进入虚拟环境

我们可以首先使用`workon`命令列出,所有的虚拟环境:

![](http://cdn.qmpython.com/Centos7中Flask部署之Python环境_1576681981000.png)

再进入我们需要的虚拟环境中:

```bash

workon mfyq_env

```

![](http://cdn.qmpython.com/Centos7中Flask部署之Python环境_1576682046000.png)

7)退出虚拟环境

```bash

deactivate

```

8)删除虚拟环境

```bash

rmvirtualenv mfyq_env

```

9)我们进入虚拟环境中查看第三方库

```

(mfyq_env) [root@localhost ~]# pip list

Package Version

---------- -------

pip 19.3.1

setuptools 42.0.2

wheel 0.33.6

```

目前还没有什么第三方库,我们需要根据所需进行下载。

## 安装项目所需模块

我们需要什么第三方库,可以直接一个一个`pip`安装项目中所需要的模块。但是如果我们需要将之前的项目迁移,避免库多,一个个下载麻烦,我们可以使用`freeze`,`Python`项目中必须包含一个` requirements.txt` 文件,用于记录所有依赖包及其精确的版本号。其作用是用来在另一台PC上重新构建项目所需要的运行环境依赖,以便新环境部署。

```bash

# 在以前项目环境里导出环境

pip freeze > requirements.txt #生成requirements.txt

# 在环境里安装相应的模块

pip install -r requirements.txt #安装requirements.txt依赖,根据文件进行包安装,可以使用xftp软件把requitements.txt 文件放到传到服务器上,然后指定对应路径安装即可;

```

我们进入虚拟环境,查看安装好的库:

```bash

# 进入虚拟环境

workon mfyq_env

# 显示所安装的库

pip3 list

```

大概库如下:

```text

(mfyq_env) [root@localhost qgb]# pip3 list

Package Version

----------------- ----------

alembic 1.3.0

certifi 2019.11.28

chardet 3.0.4

Click 7.0

defusedxml 0.6.0

elasticsearch 7.0.5

et-xmlfile 1.0.1

fake-useragent 0.1.11

Flask 1.1.1

Flask-Migrate 2.5.2

Flask-Moment 0.9.0

flask-mongoengine 0.9.5

Flask-Script 2.0.6

Flask-SQLAlchemy 2.4.1

Flask-WTF 0.14.2

gevent 1.4.0

greenlet 0.4.15

gunicorn 20.0.0

idna 2.8

itsdangerous 1.1.0

jdcal 1.4.1

Jinja2 2.10.3

lxml 4.4.2

Mako 1.1.0

MarkupPy 1.14

MarkupSafe 1.1.1

mongoengine 0.18.2

odfpy 1.4.0

openpyxl 3.0.0

Pillow 6.2.1

pip 19.3.1

pycryptodome 3.9.1

pymongo 3.9.0

PyMySQL 0.9.3

python-dateutil 2.8.1

python-editor 1.0.4

PyYAML 5.1.2

requests 2.22.0

setuptools 42.0.2

six 1.12.0

SQLAlchemy 1.3.10

tablib 0.14.0

urllib3 1.25.6

Werkzeug 0.16.0

wheel 0.33.6

WTForms 2.2.1

xlrd 1.2.0

xlwt 1.3.0

```

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值