pyenv使用

前言

python 虚拟环境有很多种,自带的 venv, 与 virtualenv, conda, pipenv, pyenv
这些虚拟环境其实差不多,听说conda 跨平台挺好的。
pipenv 的确是虚拟环境利器,pipenv 比较好用的就是对 pip 依赖包的管理,但是如果不设置 pip 代理 pipenv lock 和 pipenv install 有点慢。pipenv 进入虚拟环境需要输入一些命令,我希望省略掉这一步。
pyenv 的虚拟环境,pyenv 在目录中设置了 python 环境,在进入目录后直接会使用 pyenv 设置的环境, 不需要使用命令进入,我比较喜欢这个,python的版本优先级 shell > local > global shell 为设置当前shell全局python环境,小心使用,$pyenv shell --unset 取消。
pyenv会从当前目录开始向上逐级查找.python-version文件,直到根目录为止,若找不到,则使用global版本

pycharm 设置虚拟环境时, 地址 ~/.pyenv/versions/3.x.x/envs/.../bin/python

pyenv安装配置

pyenv wiki https://github.com/pyenv/pyenv/wiki/common-build-problems

$sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev \
libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev \
xz-utils tk-dev libffi-dev liblzma-dev python-openssl git
$ curl https://pyenv.run | bash 
在当前sh的~/.bashrc 中添加,如果使用zsh在~/.zshrc 中添加
$ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
$ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
$ echo 'eval "$(pyenv init -)"' >> ~/.bashrc

重新加载shell

$ exec $SHELL -l

安装oh-my-zsh提示更友好[选择安装]

$ sudo apt install zsh
$ sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

主题可以百度一下选择一个好看的

快速安装python、pip包

$pyenv install 3.7.5
当下载python版本时pyenv是下载python官网的python包,国内比较慢,
国内python镜像网站如:
http://npm.taobao.org/mirrors/python/
http://npm.taobao.org/mirrors/python/3.7.5/Python-3.7.5.tar.xz
下载好包放在~/.pyenv/cache目录下,如果没有这个目录创建, pyenv install 3.7.5 安装对应下载的版本即可。
有代理可以使用命令行代理工具: proxychains,/etc/proxychains.conf填入代理设置
proxychains pyenv install xxx
19.3.1版的pip可以使用命令设置国内源
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

使用pyenv设置并启用一个虚拟环境

$ pyenv install 3.7.5 # 下载安装python3.7.4
$ pyenv virtualenv 3.7.5 py37 #  pyenv virtualenv 版本号 虚拟环境名
$ mkdir py37
$ cd py37
$ pyenv local py37 # 设置当前文件夹使用py37为虚拟环境
$ python --version # 查看python的版本
$ pyenv uninstall py37 # 删除py37虚拟环境

使用

查看当前 python 版本
$ pyenv version 
查看所有python版本
$ pyenv versions
使用python版本创建虚拟环境
$ pyenv virtualenv 3.7.5 py37
在当前目录中使用虚拟环境或者python版本
$ pyenv local 3.7.5 
$ pyenv local py37
查看所有虚拟环境
$ pyenv virtualenvs
设置全局python
$ python global 版本号
设置当前shell窗口使用的python版本为指定版本,设置面向 shell 的 Python 版本,
通过设置当前 shell 的 PYENV_VERSION 环境变量的方式。这个版本的优先级比 local 和 global 都要高。
–-unset 参数可以用于取消当前 shell 设定的版本。
$ python shell 版本号
删除python版本或者虚拟环境
pyenv uninstall 版本号

pyenv升级

使用 curl https://pyenv.run | bash 脚本安装可以使用命令升级

$ pyenv update

pyenv 删除

$rm -rf ~/.pyenv
删除 .bashrc或.zshrc中添加的3行

官方文档
参考资料
pyenv Tutorial

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,634评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,951评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,427评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,770评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,835评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,799评论 1 294
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,768评论 3 416
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,544评论 0 271
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,979评论 1 308
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,271评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,427评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,121评论 5 340
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,756评论 3 324
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,375评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,579评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,410评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,315评论 2 352

推荐阅读更多精彩内容