栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

CentOS 7 安装 Python3.7及虚拟环境

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

CentOS 7 安装 Python3.7及虚拟环境

CentOS 7 安装 Python3.7 https://segmentfault.com/a/1190000015628625 1. 我们先看看现有的 python2在哪里
[root@lidan /]# whereis python
python: /usr/bin/python /usr/bin/python2.7 /usr/bin/python.bak /usr/lib/python2.7 /usr/lib64/python2.7 /etc/python /usr/include/python2.7 /usr/share/man/man1/python.1.gz
[root@lidan bin]# ll python*
lrwxrwxrwx. 1 root root    9 5月  27 2016 python2 -> python2.7
-rwxr-xr-x. 1 root root 7136 11月 20 2015 python2.7
lrwxrwxrwx. 1 root root    7 5月  27 2016 python.bak -> python2
2. 接下来我们要安装编译 Python3的相关包
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make libffi-devel

这里面有一个包很关键libffi-devel,因为只有3.7才会用到这个包,如果不安装这个包的话,在 make 阶段会出现如下的报错:

# ModuleNotFoundError: No module named '_ctypes'
3. 安装pip,因为 CentOs 是没有 pip 的。
#运行这个命令添加epel扩展源 
yum -y install epel-release 
#安装pip 
yum install python-pip
4. 可以用 python 安装一下 wget
pip install wget
5. 我们可以下载 python3.7的源码包了
wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tgz
#解压缩
tar -zxvf Python-3.7.0.tgz

#进入解压后的目录,依次执行下面命令进行手动编译
./configure prefix=/usr/local/python3 
make && make install

如果最后没提示出错,就代表正确安装了,在/usr/local/目录下就会有python3目录

6. 添加软链接
#添加python3的软链接 
ln -s /usr/local/python3/bin/python3.7 /usr/bin/python3.7 
#添加 pip3 的软链接 
ln -s /usr/local/python3/bin/pip3.7 /usr/bin/pip3.7
#测试是否安装成功了 
python -V
7. 更改yum配置,因为其要用到python2才能执行,否则会导致yum不能正常使用(不管安装 python3的那个版本,都必须要做的)
vi /usr/bin/yum 
把 #! /usr/bin/python 修改为 #! /usr/bin/python2 
vi /usr/libexec/urlgrabber-ext-down 
把 #! /usr/bin/python 修改为 #! /usr/bin/python2
8. virtualenv安装
[root@localhost ~]# pip3 install virtualenv
pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.
Collecting virtualenv

如果出现以上信息,说明要安装openssl

yum install -y openssl openssl-devel

yum clean all

再次执行命令pip3 install virtualenv,发现还是同样的问题。

查阅资料发现,在./configure过程中,如果没有加上–with-ssl参数时,默认安装的软件涉及到ssl的功能不可用,刚好pip3过程需要ssl模块,而由于没有指定,所以该功能不可用。

解决办法是重新对python3.6进行编译安装,用一下过程来实现编译安装:

cd /usr/src/Python-3.6.5/
./configure --with-ssl --prefix=/usr/local/python3
make -j4 && make install
cd /root/

再次执行安装命令,就可以了

pip3 install virtualenv

提示以下信息:

You are using pip version 9.0.3, however version 10.0.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.

升级pip

[root@localhost ~]# pip3 install --upgrade pip
Collecting pip
  Downloading https://files.pythonhosted.org/packages/0f/74/ecd13431bcc456ed390b44c8a6e917c1820365cbebcb6a8974d1cd045ab4/pip-10.0.1-py2.py3-none-any.whl (1.3MB)
    100% |████████████████████████████████| 1.3MB 593kB/s
Installing collected packages: pip
  Found existing installation: pip 9.0.3
    Uninstalling pip-9.0.3:
      Successfully uninstalled pip-9.0.3
Successfully installed pip-10.0.1

9. 安装virtualenvwrapper

pip3 install virtualenvwrapper

linux还需要安装一个包,否则找不到virtualenvwrapper.sh文件

yum install python-virtualenv -y

首选找到对应的virtualenvwrapper.sh文件的路径:

[root@localhost ~]# find / -name virtualenvwrapper.sh
/usr/local/python3/bin/virtualenvwrapper.sh

创建虚拟环境目录

mkdir /virtualenvs

找到路径之后在/etc/profile中进行配置:

vim /etc/profile

export WORKON_HOME=/virtualenvs
source /usr/local/python3/bin/virtualenvwrapper.sh

第一行:virtualenvwrapper存放虚拟环境目录

第二行:virtrualenvwrapper会安装到python的bin目录下,所以该路径是python安装目录下

读入配置文件,立即生效

[root@localhost virtualenvs]# source /etc/profile
virtualenvwrapper.user_scripts creating /virtualenvs/premkproject
virtualenvwrapper.user_scripts creating /virtualenvs/postmkproject
virtualenvwrapper.user_scripts creating /virtualenvs/initialize
virtualenvwrapper.user_scripts creating /virtualenvs/premkvirtualenv
virtualenvwrapper.user_scripts creating /virtualenvs/postmkvirtualenv
virtualenvwrapper.user_scripts creating /virtualenvs/prermvirtualenv
virtualenvwrapper.user_scripts creating /virtualenvs/postrmvirtualenv
virtualenvwrapper.user_scripts creating /virtualenvs/predeactivate
virtualenvwrapper.user_scripts creating /virtualenvs/postdeactivate
virtualenvwrapper.user_scripts creating /virtualenvs/preactivate
virtualenvwrapper.user_scripts creating /virtualenvs/postactivate
virtualenvwrapper.user_scripts creating /virtualenvs/get_env_details

如果运行报错,如下:

/usr/bin/python: No module named virtualenvwrapper

请确保python版本为3.6。如何将系统的python版本替换为3.6,请参考文章

http://www.py3study.com/Article/details/id/320.html

10.使用虚拟环境
  • 提示:如果不指定python版本,默认安装的是python2的虚拟环境

  • 在python2中,创建虚拟环境

    mkvirtualenv 虚拟环境名称
    例 :
    mkvirtualenv py_django
    
  • 在python3中,创建虚拟环境

    mkvirtualenv -p python3 虚拟环境名称
    例 :
    mkvirtualenv -p python3 py3_django
    
  • 查看虚拟环境的命令 :

workon
  • 退出虚拟环境的命令 :
deactivate
  • 删除虚拟环境的命令 :
rmvirtualenv 虚拟环境名称

例 :删除虚拟环境py3_django

先退出:deactivate
再删除:rmvirtualenv py3_django
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/657362.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号