pyenv创建python多虚拟环境

用途:开发的时候经常使用不同的python版本来写代码,但是在Linux的公共环境下很容易出现问题,pyenv可以设置不同用户,不同目录,甚至不同子目录下面不同的python环境

1安装相关包

yum install -y git gcc make patch gdbm-devel openssl-devel sqlite-devel readline-devel zlib-devel bzip2-devel 

2新建一个用户和安装pyenv


useradd  pyenv
su - pyenv下载安装pyenv并设置环境curl -L https://raw.githubusercontent.com/pyenv/pyenv-installer/master/bin/pyenv-installer | bash
vim .bash_profile增加环境变量
export PATH="/home/python/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
source . /home/python/.bash_profile 或. . /home/python/.bash_profile

3查看系统上面的python版本有几个

pyenv  versions  //这里由于是原始环境,所以只有一个系统的版本  system

4安装指定版本

pyenv install  --list

[pyenv@localhost ~]$ pyenv install --list
Available versions:
  2.1.3
  2.2.3

  2.3.7

..............  此处省略很多

pyenv  install  3.5.3  -v  //这里只能选择安装上面命令结果出现的东西,pyenv  install  Python-3.5.3是错误写法

。。。一般由于网络问题,下载让你等的头疼,可以先下载下来。。。。

cd ~/.pyenv

make cache  //建一个缓存目录,并将包放入这个目录里面

[pyenv@localhost .pyenv]$ ls cache/

Python-3.5.3.tar.xz  Python-3.5.3.tgz   //由于我使用pyenv install 3.5.3 -v命令的时候显示的是安装Python-3.5.3.tar.xz ,所以上传这一个包就可以了

再一次执行 pyenv  install 3.5.3 -v 这次是飞快

查看版本

pyenv  versions

[pyenv@localhost ~]$ pyenv versions
 * system   //*表示当前在使用的版本,我这个系统是7.3的,所以python版本为2.7.5

  3.5.3 (set by /home/pyenv/.python-version)

4测试使用pyenv设置不同的版本

新建一个目录

mkdir  hehe/projects -p

cd hehe/projects

mkdir test

cd test

vi .python-version     //当前文件的路径是/home/pyenv/hehe/projects/test/.python-vesion

[pyenv@localhost test]$ cat .python-version 

3.5.3

[pyenv@localhost test]$ cd ..
[pyenv@localhost projects]$ python -V

Python 2.7.5

比较版本的使用---》版本的不同

pyenv@localhost projects]$ python
Python 2.7.5 (default, Nov  6 2016, 00:28:07) 
[GCC 4.8.5 20150623 (Red Hat 4.8.5-11)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> hehe='你好'
>>> hehe
'\xe4\xbd\xa0\xe5\xa5\xbd'
>>> exit()
[pyenv@localhost projects]$ cd test
[pyenv@localhost test]$ python
Python 3.5.3 (default, May  7 2018, 17:31:56) 
[GCC 4.8.5 20150623 (Red Hat 4.8.5-11)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> hehe='你好'
>>> hehe

'你好'

上面2和3版本的不同就是2默认编码是ascii  3的默认编码是utf-8

下面第二次测试,-----》子目录的继承

cd /home/pyenv/hehe/projects/test

mkdir test1

[pyenv@localhost test1]$ python -V   //此处是继承了test目录的版本

Python 3.5.3

[pyenv@localhost test1]$ vi .python-verion
[pyenv@localhost test1]$ cat .python-verion   //修改为系统的版本

system

[pyenv@localhost test1]$ python -V
Python 2.7.5

5 总结:

(1)pyenv的设置是子目录继承父目录的python版本,如果想与众不同,就建一个.python-version的文件写入你需要的版本,前提是这个版本已经安装了

(2)其他的命令,如 pyenv  global,local,shell  这些命令参考就好,请慎用,关键是.python-version文件

其他:一个问题

[pyenv@localhost ~]$ python -V

pyenv: version `ttt' is not installed (set by /home/pyenv/.python-version)

出现这样的问题,一般是你的这个版本的虚拟环境删除了,但是在.python-version文件中还存在,修改为你存在的版本就好了


最后:整个文档就一个东西 .python-version  .python-version  .python-version   其他都是浮云







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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值