wsl下的python环境管理
开头
之前一直都在用python解释器和virtualenv来管理python的虚拟环境,但是被老大吐槽不好用之后,换了一种新的管理方式,那就是
pyenv + pyenv-virtualenv的使用
先装pyvenv,用pyvenv装python,然后用pyenv-virtualenv管理
pyenv 的参考文档 https://github.com/pyenv/pyenv
什么是pyenv
简单的说,pyenv是管理python版本的工具。安装pyenv后,可以管理各种python版本,并且各个版本的环境完全独立,互不干扰, 不用你每次需要解释器的时候到处去找安装包,很好的管理的python版本
安装pyenv
git clone https://github.com/pyenv/pyenv.git ~/.pyenv
如果你使用 bash,就依次执行如下命令:
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n eval "$(pyenv init -)"\nfi' >> ~/.bashrc
如果你使用 zsh,就依次执行如下命令:
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc
echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n eval "$(pyenv init -)"\nfi' >> ~/.zshrc
在使用 pyenv 之前,重新初始化 shell 环境,执行如下命令
exec $SHELL
然后就可以使用pyenv了,简单的命令如下
# 查看当前版本
pyenv version
# 查看所有版本
pyenv versions
# 查看所有可安装的版本
pyenv install --list
# 安装指定版本
pyenv install 3.6.5 -v
# 安装新版本后rehash一下
pyenv rehash
# 删除指定版本
pyenv uninstall 3.5.2
# 指定全局版本
pyenv global 3.6.5
# 指定多个全局版本, 3版本优先
pyenv global 3.6.5 2.7.14
# 实际上当你切换版本后, 相应的pip和包仓库都是会自动切换过去的
当pyenv install 出错的时候,可以参考 https://blog.csdn.net/BigData_Mining/article/details/100100375
或者 下载很慢的时候 可以参考 https://www.cnblogs.com/Sungeek/p/10036033.html 离线安装
当出现切换版本无法切换的情况一般是因为用pyenv指定了local版本。
解决方法:
取消设置local版本:
pyenv local --unset
就可以自由的切换版本了
pyenv global 3.6.5
# 查看目前版本
pyenv versions
因为本人用的是wsl的系统所以会出现如下的情况:
pyenv版本成功切换了但python版本不变的情况,且出现 如下的报错
sourece 的时候出现
WARNING: `pyenv init -` no longer sets PATH.
Run `pyenv init` to see the necessary changes to make to your configuration.
执行python的时候出现
zsh: command not found: python
这时候是因为python命令没有加软连接的导致找不到python,所以在终端中输入
sudo ln -s /usr/bin/python3.6 /usr/bin/python
wsl默认自带了python3.6.9的解释器
然后根据提示执行
pyenv init
将这部分脚本复制到你的~/.zshrc下(将之前的export加进来的先删掉)
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init --path)"
然后执行刷新
source ~/.zshrc
这时候,pyenv就可以正常运行啦!(md,搞了好久)
什么是pyenv-virtualenv
pyenv-virtualenv 是一个管理 python 虚拟环境的 pyenv 插件,具体可以查看 pyenv-virtualenv 文档。https://github.com/pyenv/pyenv-virtualenv
python 虚拟环境相当于一个独立的 python 版本,有自己独立的目录,也可以独立的安装第三方库,而不会相互干扰
安装pyenv-virtualenv
从 Github 克隆 pyenv-virtualenv 仓库
git clone https://github.com/pyenv/pyenv-virtualenv.git $(pyenv root)/plugins/pyenv-virtualenv
会放到~/.pyenv的plugins的目录下,需要先确认是否有这个目录
然后将命令写到zshrc中
echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.zshrc
然后哦执行
pyenv virtualenvs # 第一次执行应该是没有环境的
# 从当前版本创建一个虚拟环境
$ pyenv version
3.7.7 (set by /home/keke/.pyenv/version)
$ pyenv virtualenv venv37
# 稍等一下,就可以看到环境创建成功,两种方式查看
1、pyenv versions
2、 pyenv virtualenvs
激活关闭虚拟环境
pyenv activate <virtualenv-name>
pyenv deactivate
或者
pyenv local <virtualenv-name>
#取消设置
pyenv local --unset
如果报错 则输入以下两句
$ echo 'eval "$(pyenv init -)"' >> ~/.zshrc
$ echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.zshrc
$ exec $SHELL
$ source ~/.zshrc
至此 则成功启动
常用命令
pyenv命令集
pyenv install --list
查询所有可以安装的版本
pyenv install 2.7.14
安装所需的版本
pyenv uninstall
卸载特定的Python版本。
pyenv version
显示当前活动的Python版本
pyenv global 2.7.14
Python的全局设置,整个系统生效
pyenv global 2.7.14
Python的局部设置,当前目录生效
pyenv local --unset
取消设置
更多参考GitHub...
pyenv-virtualenv命令集:
pyenv virtualenv 2.7.14 venv2714
制定版本创建virtualenv
pyenv virtualenvs
列出现有virtualenvs
pyenv activate virtualenv的名称
激活pyenv virtualenv
pyenv deactivate
停用pyenv virtualenv
pyenv uninstall my-virtual-env
删除现有virtualenv
特殊情况
遇到pyenv切换了但是python版本却不改变的问题,需要修改 bashrc 里面的内容,参考
完。
wsl下的python环境管理的更多相关文章
- Windows10下安装python(配置环境变量)
从官网下载Windows下的python版本,一路按照默认进行安装. 安装之后配置环境变量的步骤如下: 1,点“我的电脑”,右键选“属性”. 2,选择“高级系统设置”--->选“环境变量”--- ...
- Centos7下安装python环境
前言 centos7默认是装有pyhton的. #检查python版本 [root@oldboy_python ~ ::]#python -V Python 但是众所周知,python2版本到2020 ...
- Linux yum的配置 , python环境管理, nginx搭建简单学习
Linux yum的配置 , python环境管理, nginx搭建简单学习 一丶配置yum的数据仓库 ### yum 工具, 方便,自行解决软件之间的依赖关系. # 配置yum源仓库 (可以使用,清 ...
- Sublime Text3配置在可交互环境下运行python快捷键
安装插件 在Sublime Text3下面写代码感觉很不错,但是写Python的时候遇到了一些问题. 用Sublime Text3打开python文件,或者在Sublime Text3下写好pytho ...
- ubuntu14.04下搭建python+mysql环境
简略记录ubuntu14.04下搭建python操作的mysql服务器的过程和其中遇到的问题及解决方法. 第一部分: 安装mysql 安装步骤:1. sudo apt-get install mysq ...
- Sublime Text 2下搭建Python环境常见错误
Sublime Text 2下搭建Python环境时,最容易出的错误就是Python环境配置错误,导致build(Ctrl+B)后没有任何反应. 关于Python编程环境的配置,网上很容易搜索到.先默 ...
- Ubuntu下配置python完成爬虫任务(笔记一)
Ubuntu下配置python完成爬虫任务(笔记一) 目标: 作为一个.NET汪,是时候去学习一下Linux下的操作了.为此选择了python来边学习Linux,边学python,熟能生巧嘛. 前期目 ...
- linux下更新python
刚开始入门python,想直接入门python3,需要更新一下linux自带的python.自带的python是2.6,可以在终端root下键入python查看python版本. 1.从官网下载pyt ...
- 【Python基础学习一】在OSX系统下搭建Python语言集成开发环境 附激活码
Python是一门简单易学,功能强大的编程语言.它具有高效的高级数据结构和简单而有效的面向对象编程方法.Python优雅的语法和动态类型以及其解释性的性质,使它在许多领域和大多数平台成为编写脚本和快速 ...
- 【转】linux和windows下安装python集成开发环境及其python包
本系列分为两篇: 1.[转]windows和linux中搭建python集成开发环境IDE 2.[转]linux和windows下安装python集成开发环境及其python包 3.windows和l ...
随机推荐
- Action: Consider the following: If you want an embedded database (H2, HSQL or Derby), please put it on the classpath.
错误原因 在pom中引入了mybatis-spring-boot-starter ,Spring boot默认会加载org.springframework.boot.autoconfigure.jdb ...
- 如何像Facebook一样构建数据中心 – BGP在大规模数据中心中的应用(3)
如何像Facebook一样构建数据中心 – BGP在大规模数据中心中的应用(3) superrace• 18-06-12 作者简介:史梦晨,曾就职于国内金牌集成商, 现就职于EANTC( 欧洲高级网络 ...
- mxnet的broadcast_power() 注释错误
用relationnet时,发现broadcast_power()的源码中的注释如下: 官方文档中的注释如下: 怎么算都算不出它这个结果... 自己用mxnet实验了一把,发现是注释错了,代码如下:
- 驱动开发:配置Visual Studio驱动开发环境
在正式开始驱动开发之前,需要自行搭建驱动开发的必要环境,首先我们需要安装Visual Studio 2013这款功能强大的程序开发工具,在课件内请双击ISO文件并运行内部的vs_ultimate.ex ...
- Android笔记--监听短信内容
监听短信内容 就比如说是在我们用一个软件需要使用"获取验证码"的功能时,能够跟短信的验证码互通,实现较为完整的登录功能: 监听短信内容主要是利用了contentObserver实现 ...
- Bootstarp5第三弹
五.文字排版 <.h1>-<.h6> <div class="container"> <h1>文字排版</h1> < ...
- Linux & 标准C语言学习 <DAY3>
C语言简介: BCPL->New B->C->UNIX->Minix->Linux->gcc C语言诞生于1971~1973年,美国贝尔实验室,肯. ...
- Java中的String类真的不可变吗?java面试常见问题
其实在Java中,String类被final修饰,主要是为了保证字符串的不可变性,进而保证了它的安全性.那么final到底是怎么保证字符串安全性的呢?接下来就让我们一起来看看吧. 一. final ...
- Oracle数据库 insert 插入数据 显示问号乱码的解决办法
一.问题描述 插入的中文数据 显示成问号(乱码),其他语言如老挝文.柬文等都一样. 二.解决方案 plsql插入oracle数据乱码问题处理起来其实很简单,因为乱码问题一般都是由于编码不一致导致的,我 ...
- Linux基础知识归纳
1.Linux:Linux is not Unix.主要用于企业的服务器端.Windows不开源(系统价格大概2000左右,安装软件也特别贵,例如Offers就6000左右等).基于内核的操作系统(r ...