本文的命令都是在root账户下执行的,假如非root账号执行,提示没有权限,可在命令前加sudo。

一、安装Python3

1> 安装编译环境及相关类库


yum -y groupinstall "Development tools"<br></br> 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 libffi-devel

2> 下载python3安装包

https://www.python.org/ftp/python中选择想要安装的python版本,下载末尾为.tgz的文件。例如:https://www.python.org/ftp/python/3.7.6/Python-3.7.6.tgz


cd /usr/local/src
wget https://www.python.org/ftp/python/3.7.6/Python-3.7.6.tgz
tar -zxvf Python-3.7.6.tgz (如果是*.tar.xz则用tar -xvJf,如果是.tar.gz则用tar xzf )
上面太慢可以用这个:

wget http://mirrors.sohu.com/python/3.7.6/Python-3.7.6.tgz

3> 新建Python3存放目录

mkdir -p /usr/local/python3

4> 安装Python3

进入解压目录,指定安装目录,安装Python3。
cd Python-3.7.6
./configure --prefix=/usr/local/python3
make && make install

安装python3时会自动安装pip。如果没有,需要自己手动安装。

yum -y install python-pip

如果想在任意路径下,输入 python3 就进入 python3 的环境,我们该怎么做呢?下面介绍两种实现方式:

环境变量方式
使用vim编辑器,编辑/etc/profile文件
vim /etc/profile
在文件的末尾,增加以下两行:
PATH=/usr/local/python3.6.5/bin:$PATH
export PATH

或:

echo 'export PATH=$PATH:/usr/local/python3/bin'>>/etc/profile
source /etc/profile

#通过查看python3版本,确定是否加入成功
python3 --version

默认的源安装较慢,可以更换源,具体更换方法点击查看https://blog.csdn.net/CARL\_\_Meng/article/details/104434899

-

软链接方式
ln -s /usr/local/python3.6.5/bin/python3 /usr/local/bin/python3
pip 命令也需要做一下软链接,就可以在任意目录下,用 pip3 命令安装各种模块和包了
ln -s /usr/local/python3.6.5/bin/pip3 /usr/local/bin/pip3

root用户的话:

  1. ln -s /usr/local/python3/bin/python3 /usr/bin/python3
  2. ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3

如果出现下面的问题

ln: failed to create symbolic link '/usr/bin/python3':File exists

说明已经有链接链到 /usr/bin/python 上了,使用如下命令删除即可

rm -rf /usr/bin/python3

注意python后面不能加斜杠

安装完成。

1.为什么要搭建虚拟环境?

  • 问题:如果在一台电脑上, 想开发多个不同的项目, 需要用到同一个包的不同版本, 如果使用上面的命令, 在同一个目录下安装或者更新, 新版本会覆盖以前的版本, 其它的项目就无法运行了.
  • 解决方案 : 虚拟环境
    作用 : 虚拟环境可以搭建独立的python运行环境, 使得单个项目的运行环境与其它项目互不影响.

在开发过程中, 便于控制python的web框架或工具包的版本,创建多个虚拟环境,就相当于我们在一台电脑上拥有了多个python解释器。

二 、创建虚拟环境

使用pip 安装包前,先更新pip

pip3 install --upgrade pip
pip3 --version

1> 安装virtualenv、virtualenvwrapper

 
  1. pip3 install virtualenv
  2. pip3 install virtualenvwrapper

创建目录用来存放虚拟环境 mkdir $HOME/.virtualenvs(或者mkdir ~/.virtualenvs)

2> 进入.bashrc文件中,定义virtualenvwrapper路径

使用vim编辑.bashrc文件

vim ~/.bashrc  或者vim $home/.bashrc

在文末添加以下代码并保存

 

\#virtualenvwrapper
#指定虚拟环境存放目录,.virtualenvs目录名可自拟
export WORKON\_HOME=~/.virtualenvs
#指定virtualenvwrapper执行的python版本
export VIRTUALENVWRAPPER\_PYTHON=/usr/local/python3/bin/python3
#virtualenvwrapper.sh文件所在目录
source /usr/local/python3/bin/virtualenvwrapper.sh (有的系统是:source /usr/local/bin/virtualenvwrapper.sh

4.查找python3的路径,并记住它
which python3
我的查询结果是:/usr/bin/python3

查找virtualenv的路径,并记住它
find / -name "virtualenv"
我的查询结果是:/usr/local/python3/bin/virtualenv

查找virtualenvwrapper.sh的路径,并记住它
find / -name "virtualenvwrapper.sh"
我的查询结果是:/usr/local/python3/bin/virtualenvwrapper.sh


5.修改.bashrc文件里面的配置
vim ~/.bashrc

在文末填入以下代码并保存
VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3 # 指定virtualenvwrapper执行的python版本
export WORKON_HOME=$HOME/.virtualenvs   # 指定虚拟环境存放目录,.virtualenvs目录名可自拟
export VIRTUALENVWRAPPER_VIRTUALENV=/usr/local/python3/bin/virtualenv
source /usr/local/python3/bin/virtualenvwrapper.sh # virtualenvwrapper.sh所在目录

刷新
source ~/.bashrc

3> 运行.bashrc 文件

source ~/.bashrc

4> 创建虚拟环境

# 创建虚拟环境
mkvirtualenv [--python=python解释器路径] 虚拟环境名

如:
mkvirtualenv py3-env 
mkvirtualenv --python=/usr/bin/python3 py3-env


# 激活虚拟环境
workon test_env
workon + 两次tab键可以显示所有的虚拟环境


# 退出虚拟环境
deactivate

# 列出所有虚拟环境
lsvirtualenv

# 删除虚拟环境
rmvirtualenv

# 进入虚拟环境所在目录
cdvirtualenv

三、异常情况

加入source ~/.bashrc 时,提示以下错误

-bash:/usr/local/bin/virtualenvwrapper.sh:No such file or directory

【原因】

①查找virtualenvwrapper.sh所在目录

  1. find / -name "virtualenvwrapper.sh"
  2. >> /usr/local/python3/bin/virtualwrapper.sh

②把.bashrc文件的virtualenvwrapper.sh目录更换为实际所在目录

ubuntu18.04里,通过pip安装virtualenvwrapper得到的virtualenvwrapper.sh被安装在~/.local/bin/目录下,需要修改上面添加在~/.bashrc的内容中的路径即可:

  1. export WORKON_HOME=$HOME/.virtualenvs
  2. source ~/.local/bin/virtualenvwrapper.sh

创建虚拟环境时,提示以下错误

ERROR: virtualenvwrapper could not find virtualenv in your path

【解决方案】

①查找virtualenv所在目录

 
  1. find / -name "virtualenv"
  2. >> /usr/local/python3/bin/virtualenv

②创建软链接

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

ubuntu14安装python3后,打开命令行界面总会提示:
/usr/bin/python: Error while finding module specification for 'virtualenvwrapper.hook\_loader' (ModuleNotFoundError: No module named 'virtualenvwrapper')
virtualenvwrapper.sh: There was a problem running the initialization hooks.

If Python could not import the module virtualenvwrapper.hook\_loader,
check that virtualenvwrapper has been installed for
VIRTUALENVWRAPPER\_PYTHON=/usr/bin/python and that PATH is
set properly.

有的文章说修改.bashrc中的VIRTUALENVWRAPPER\_PYTHON,之后执行source .bashrc。这个方法对我本机没有起作用
之后查询:

http://www.itkeyword.com/doc/1445534594720488x414/usr-bin-python3-error-while-finding-spec-for-virtualenvwrapper-hook-loader

$ sudo pip3 install virtualenv virtualenvwrapper
$ source .bashrc

然后就没有提示了

安装过程中遇到的最大问题是:db4-devel和libpcap-devel依赖缺失
centos下安装Python3和虚拟环境教程
进入root账户完成以下操作

1. 安装依赖:

第一步:
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
在这里插入图片描述
遇到的问题是:在使用centOS8安装python3.9.1时无法找到db4-devel和libpcap-devel
注意:按照顺序安装
安装一个包:yum -ivh
升级一个包:yum -Uvh

第二步:wget db4-devel依赖
wget https://pkgs.dyn.su/el8/base/x86\_64/libdb4-4.8.30-30.el8.x86\_64.rpm
rpm -ivh libdb4-4.8.30-30.el8.x86\_64.rpm
wget https://pkgs.dyn.su/el8/base/x86\_64/libdb4-devel-4.8.30-30.el8.x86\_64.rpm
rpm -ivh libdb4-devel-4.8.30-30.el8.x86\_64.rpm

第三步:wget libpcap-devel依赖
wget http://mirror.centos.org/centos/8/BaseOS/x86\_64/os/Packages/libpcap-1.9.1-4.el8.x86\_64.rpm
rpm -ivh libpcap-1.9.1-4.el8.x86\_64.rpm
wget http://mirror.centos.org/centos/8/PowerTools/x86\_64/os/Packages/libpcap-devel-1.9.1-4.el8.x86\_64.rpm
rpm -ivh libpcap-devel-1.9.1-4.el8.x86\_64.rpm
备注:如出现错误,发现了之前版本的conflict,将-ivh改为-Uvh,对之前的依赖进行升级即可安装成功。

第四步:
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

标签: bin, usr, devel, centos, 虚拟环境, python3, Python3, virtualenvwrapper, local

相关文章推荐

添加新评论,含*的栏目为必填