Posted in Python onAugust 06, 2019
一、前言
预处理
建议仔细看完本文章之后在进行操作,避免失误,本环境可以用于生产环境,有利于生产环境python之间的环境隔离,互相不会产生环境冲突;pyenv
和pyenv-virtualenv
可以完美结合使用,具体使用情况看项目具体要求;
依赖环境要求
yum install readline readline-devel readline-static -y yum install openssl openssl-devel openssl-static -y yum install sqlite-devel -y yum install bzip2-devel bzip2-libs -y yum install libffi-devel -y
二、pyenv安装
pyenv获取
[root@tset ~]# git clone https://github.com/yyuu/pyenv.git ~/.pyenv Cloning into '/root/.pyenv'... remote: Enumerating objects: 17352, done. remote: Total 17352 (delta 0), reused 0 (delta 0), pack-reused 17352 Receiving objects: 100% (17352/17352), 3.37 MiB | 24.00 KiB/s, done. Resolving deltas: 100% (11818/11818), done.
配置pyenv系统环境
[root@tset ~]# vim ~/.bashrc ## add by liuchao at 20190806 //添加以下内容 export PYENV_ROOT="$HOME/.pyenv" export PATH="$PYENV_ROOT/bin:$PATH" eval "$(pyenv init -)" //保存退出 [root@tset ~]# source ~/.bashrc //执行配置生效
三、pyenv使用
pyenv 安装python版本
个人建议:自己在python官网下载想要安装的版本;首先要在pyenv目录下创建cache文件夹,用来存放python安装包。(可以解决下载安装慢的问题)
[root@tset ~]# mkdir ~/.pyenv/cache //创建cache文件夹,将下载的python安装包存放, [root@tset ~]# cd ~/.pyenv/cache/ [root@tset cache]# ls //python安装包后缀名必须是.tar.xz Python-2.7.16.tar.xz Python-3.7.3.tar.xz pyenv install [root@tset cache]# cd [root@tset ~]# pyenv install 3.7.3 -v /tmp/python-build.20190806095432.10104 ~ /tmp/python-build.20190806095432.10104/Python-3.7.3 /tmp/python-build.20190806095432.10104 ~ Installing Python-3.7.3... checking build system type... x86_64-pc-linux-gnu checking host system type... x86_64-pc-linux-gnu checking for python3.7... no checking for python3... no checking for python... python checking for --enable-universalsdk... no checking for --with-universal-archs... no checking MACHDEP... checking for --without-gcc... no checking for --with-icc... no checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking how to run the C preprocessor... gcc -E checking for grep that handles long lines and -e... /usr/bin/grep checking for a sed that does not truncate output... /usr/bin/sed checking for --with-cxx-main=<compiler>... no checking for g++... no configure:
检查是否安装成功
[root@tset ~]# pyenv versions * system (set by /root/.pyenv/version) 3.7.3
更新数据库
[root@tset ~]# pyenv rehash
pyenv切换python版本
[root@tset ~]# pyenv global 2.7.8 // 全局 [root@tset ~]# pyenv local 2.7.8 // 当前目录下 [root@tset ~]# pyenv shell 2.7.8 // shell版本 [root@tset ~]# pyenv shell --unset // 取消当前的shell设定的版本 #创建垫片路径(为所有已安装的可执行文件创建 shims,如:~/.pyenv/versions/*/bin/*,因此,每当你增删了 Python 版本或带有可执行文件的包(如 pip)以后,都应该执行一次本命令) [root@tset ~]# pyenv rehash
安装与卸载
[root@tset ~]# pyenv install -l # 查看可安装的版本 [root@tset ~]# pyenv install 2.7.8 # 安装python2.7.8的版本 [root@tset ~]# pyenv rehash # 安装模块后 [root@tset ~]# pyenv pyenv uninstall 2.7.8 # 卸载
四、pyenv-virtualenv
安装pyenv-virtualenv
[root@tset ~]# git clone https://github.com/yyuu/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv Cloning into '/root/.pyenv/plugins/pyenv-virtualenv'... remote: Enumerating objects: 2064, done. remote: Total 2064 (delta 0), reused 0 (delta 0), pack-reused 2064 Receiving objects: 100% (2064/2064), 580.31 KiB | 17.00 KiB/s, done. Resolving deltas: 100% (1413/1413), done.
环境配置
[root@tset ~]# echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bash_profile [root@tset ~]# source ~/.bash_profile
使用方法
[root@tset ~]# pyenv virtualenv 2.7.10 env-2.7.10 //创建虚拟环境 [root@tset ~]# pyenv activate env-2.7.10 //激活虚拟环境 [root@tset ~]# pyenv deactivate //退出虚拟环境 [root@tset ~]# pyenv uninstall env-2.7.10 //删除虚拟环境 [root@tset ~]# rm -rf ~/.pyenv/versions/env-2.7.10 //删除真实目录
总结
以上所述是小编给大家介绍的python虚拟环境完美部署教程,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
python虚拟环境完美部署教程
- Author -
一木浮生声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@