http://blog.csdn.net/vencent7/article/details/76849849

自己一直用的 pyenv 和 pyenv-virtualenv 管理不同的 python 环境。昨天朋友推荐我安装一个 Anaconda(通过官网下载安装带有图形界面Anaconda Navigator 的版本,并非通过 pyenv 安装),结果安装之后似乎与原来的 pyenv 不太兼容,在网上搜了一下,有遇到类似情况的:https://stackoverflow.com/questions/40944277/pyenv-and-anaconda-issue-with-export-path

经过尝试,我找到的解决方案如下:

解决 PATH 环境变量的问题

anaconda 安装的时候会在 .bash_profile 的最后一行把自己的 PATH 加到最前,正是因为这个原因导致 pyenv 失效了(pyenv 也是通过把自己的 PATH加到最前来“劫持”python等命令实现多版本的管理),因为按照官方的安装说明,pyenv 的几行命令应该放置在.bash_profile的最后

因此,编辑.bash_profile,使得 pyenv 的命令放置在 anaconda 的之后:

# added by Anaconda3 4.4.0 installer
export PATH="/Users/frederic/anaconda/bin:$PATH" # pyenv
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

解决virtualenv识别不到anaconda的虚拟环境的问题

通过以上步骤,pyenv/virtualenv 的优先级已经比 anaconda 高了,因此如果你运行python -version看到的版本应该是通过 pyenv 指定的版本,而不是 anaconda 的版本。

然而,如何运行 anaconda 版本的 python 呢?

  1. 如果没有创建过环境而只有默认的 root 的话,我们需要先通过conda 或者anaconda navigator图形界面新建一个environment
  2. 把刚刚创建的 environment 文件夹软链接到.pyenv/versions,即让 pyenv/virtualenv可以识别到 anaconda 创建的环境(如果是通过 pyenv 安装的 anaconda 应该可以直接识别到,但是我的 anaconda 是独立安装的,因此 pyenv 没有检测到):ln -s ~/anaconda/envs/anaconda_env ~/.pyenv/versions/anaconda_env
  3. 现在输入pyenv versions命令应该能看到 anaconda 的环境了,可以通过virtualenv的 activate/deactivate 命令或者 pyenv 的pyenv shell/local/glocal [env_name]命令切换版本

Mac 下实现 pyenv/virtualenv 与 Anaconda 的兼容的更多相关文章

  1. Mac下安装pyenv

    mac 用virtualenv安装py3.6的虚拟环境报错(virtualenv -p /usr/bin/python3 env36), 解决的话需要安装zlib包, 然后去掉configure配置里 ...

  2. Mac下安装OpenCV3.0和Anaconda和环境变量设置

    入手Mac几天了,想在Mac OS下玩玩OpenCV和keras,间歇捣鼓了两天,终于搞定zsh.OpenCV3.0以及Anaconda.OpenCV3.0刚发布不久,这方面的资料也不是很多,能够查到 ...

  3. mac 下如何轻松安装神器 Anaconda

    本文推荐使用homebrew 安装 1.打开终端执行 brew cask install anaconda3 然后就可以喝一杯咖啡了,终端会自动执行安装好 如果终端卡在update homebrew ...

  4. 记录Mac下安装pyenv时所遇到的问题

    http://blog.csdn.net/foryouslgme/article/details/51683654  

  5. MAC下pyenv和pyenv-virtualenv插件初探

    为什么会使用pyenv和pyenv-virtualenv插件 一般mac自带一个python版本,称为系统版本.对于开发者而言,肯定不够用啦.所以需要在同一个mac上组建不同的开发环境并且不会冲突. ...

  6. Mac OS下使用pyenv管理Python版本

    问题的由来 在开发过程中,可能会遇到多个版本同时部署的情况. Mac OS自带的Python版本是2.x,自己开发需要Python3.x 系统自带的是2.6.x,开发环境是2.7.x 由于Mac机器系 ...

  7. Ubuntu下python使用pyenv+virtualenv进行版本和包隔离

    安装pyenv 参考:https://github.com/pyenv/pyenv git clone https://github.com/pyenv/pyenv.git ~/.pyenv echo ...

  8. Ubuntu16.04下部署 nginx+uwsgi+django1.9.7(虚拟环境pyenv+virtualenv)

    由于用的新版本系统,和旧的稍有差别,在网上搜了很多相关资料,搞了三天终于搞好在Ubuntu16.04下的部署,接下来就详细写写步骤以及其中遇到的问题.前提是安装有虚拟环境pyenv+virtualen ...

  9. Anaconda安装Graphviz, mac下Graphviz安装, pcharm中调用pycharm, Graphviz典型例子

    mac下的Graphviz安装及使用 2017年10月13日 13:30:07 阅读数:7495 一.安装 Graphviz http://www.graphviz.org/ mac用户建议直接用ho ...

随机推荐

  1. C语言中的内存分配

    对于一个C语言程序而言,内存空间主要由以下几个部分组成: 1)程序代码区:用来存储程序的二进制代码 2)全局区/静态存储区 3)BSS段:用来存储未初始化的全局变量和静态变量. 4)栈区:存储局部变量 ...

  2. iOS编程中的音频知识(二):那么多种格式我应该用哪一个?

    iPhone支持不少格式,比如AAC,HE-AAC,AMR,IMA4等等,你可以在以下网址看到比较全的格式和简要介绍: http://www.raywenderlich.com/69365/audio ...

  3. Linux 之归档与压缩

    首先我们思考一下,归档和解压是一个概念吗?答案很明显不是啊,所谓归档,就是将一些文件归到一起,并没有对其进行压缩的操作.然而压缩则不同,见名知意.下面我们就来深入的研究一下这两个知识点吧! ----- ...

  4. 【翻译】将Ext JS Grid转换为Excel表格

    原文:Converting an Ext 5 Grid to Excel Spreadsheet 稍微迟来的礼物--Ext JS Grid转为Excel代码,现在支持Ext JS 5! 功能包括: - ...

  5. UNIX环境高级编程——文件和目录

    一.获取文件/目录的属性信息 int stat(const char *path, struct stat *buf); int fstat(int fd, struct stat *buf); in ...

  6. python类定义

    在我的收藏中有一篇特别详细的类讲解 此处部分内容引自:http://blog.sina.com.cn/s/blog_59b6af690101bfem.html class myclass: 'this ...

  7. Android之BaseAdapter的优雅实现

    在android的开发过程中,我们不可避免的要使用ListView来展示我们的Activity上面的内容.你可以使用很多种方式来实现这一功能,但是如何优雅快速的来实现呢?这就是我要写的了,既为了大家共 ...

  8. thinkpad x260在ubuntu 14.04lts wifi驱动安装 ( ubuntu iwlwifi驱动 都可行 )

    实验室要新购笔记本x260,用于ROS调试,装上ubuntu-ros后,发现wifi不支持. 查阅大量资料,如下: http://www.ubuntu.com/certification/hardwa ...

  9. Optimizing Item Import Performance in Oracle Product Hub/Inventory

    APPLIES TO: Oracle Product Hub - Version 12.1.1 to 12.1.1 [Release 12.1] Oracle Inventory Management ...

  10. HTML的TextArea中保存格式的问题

    textarea在保存时格式是可以保存到数据库的,但是展示时因为/n和 不能互转导致页面不能按照刚开始的时候的格式展示,所以在页面展示的时候,要在值的外面嵌套一层 标签,即 < pre > ...