最近我在用Macbook Pro练习PyTorch的时候,发现明明在终端已经用pip安装了PyTorch,但在pycharm运行时总是报错:No module named torch. 但是我把同样的代码用Spyder跑就没有问题,感动很费解,找了很多资料,终于弄明白了。原来Pycharm、Spyder和终端用的不是同一个环境,在终端安装的地方没有用在pycharm里面。

  下面记录一下解决办法:

1、安装Anaconda3之后,有一个Anaconda Navigator应用程序,打开它,可以在其中的左侧边栏看到Environments这一个Tab,点击Environments 会列出由Anaconda管理的环境列表(把鼠标悬停在任意一个环境名称上,将会显示出该环境所在的目录路径,如/anaconda3/envs/my_workspace,这个目录可用于后续配置pycharm的运行环境),环境列表右侧是每个环境包含的python包列表【每个环境就类似一个独立的运行空间(与docker, virtualenv等概念类似),我们可以在一个环境中安装我们需要的其他第三方python包,如pandas,scikit-learn等】,我们写的项目代码需要选择一个环境作为依托。

2、安装完Anaconda之后,打开Mac端,命令行的前缀会变成(base)Mac主机名:~当前用户名$,其中的base就是Anaconda的其中一个Environment, 就是当前被选中的Python运行环境,也是Anaconda Navigator的环境列表中的第一项。

3、管理Conda环境的方法有两种:
(1)通过Anaconda Navigator的图形界面,创建、删除环境
(2)通过Mac的命令行终端程序(terminal)输入conda命令来创建、激活、删除环境(conda命令的使用方法可参考: 使用conda管理python环境我推荐使用conda命令,因为速度快。

4、选定一个环境之后,怎么在其中安装、卸载python包,如pandas、tensorflow?有三种途径:
(1)在终端利用conda命令:conda install 包名,或conda install 包名==包的版本号,如安装tensorflow2.0.0,可使用conda install tensorflow==2.0.0
具体方法可参考:https://zhuanlan.zhihu.com/p/22678445 ,如果conda install时提示找不到指定的包,则需要添加Python包的源,国内可使用清华的源,前面的链接也有添加源的方法。
(2)在终端适用pip,如pip install 包名==版本号,pip uninstall 包名。
(3)在Anaconda Navigator的图形界面进行安装、删除python包的操作。但其操作效率不如前两种命令行的方式快。

5、决定是否需要创建额外的环境:

(1)如果开发工具使用Anaconda自带的Spyder,那么你无需在Anaconda Navigator或使用conda命令额外配置环境,使用默认的环境(base)即可,如需安装第三方python包,通过conda或pip命令即可。
(2)如果使用PyCharm作为开发工具,则需要在base之外,再创建一个自定义的环境(使用conda命令或Anaconda Navigator)。再在pycharm进行设置使用这个自定义的环境。
使用conda命令创建自定义环境(如命名为my_workspace)之后,在pycharm Mac版中,点击电脑左上角的pycharm按钮,再Preferance-Project:我的工程名称->Project Interpreter->在右侧的Project Interpreter下拉框的右侧->Select All...->左下角的加号->选择左侧的Conda Enviroment->单选Existing Environment->设置Interpreter的路径为我们在Anaconda Navigator中看到的my_workspace环境的路径(如本文的第1部分所述)【注意:进入该目录之后,需要继续往下找,找到其中的python可执行文件,因此完整路径为/anaconda3/envs/my_workspace/bin/python3.7 】,再点击OK即可。

这样,以后如果这个工程再需要安装任何python包都可以通过conda命令和Anaconda Navigator来进行安装管理。

设置Mac终端、pip、Anaconda、PyCharm共用一套环境的更多相关文章

  1. mac终端命令及pycharm常用快捷键记录

    mac终端命令: 1.root权限 $sudo su - 2.定位到指定文件夹位置 $cd /Users/计算机名称/Desktop     (定位到桌面) 3.新建文件夹 $mkdir 文件夹名称 ...

  2. 设置Mac 终端走代理

    1.打开终端执行:export http_proxy=socks5://127.0.0.1:1080 这个只能在当前终端执行一次退出后就需要重新设置 如果需要开机自动设置,把上面的代码加到~/.bas ...

  3. Mac 终端—不同文件不同颜色显示,提示文字

    原文地址 修改Mac终端(Terminal)里不同类型文件的显示颜色 修改Mac终端(Terminal)的提示文字 Mac终端显示/隐藏文件命令 1. 修改Mac终端(Terminal)里不同类型文件 ...

  4. mac 终端 使用 solarized 主题设置语法高亮

    mac 终端 使用 solarized 主题设置语法高亮 先来看看 solarized 在 mac 终端上的效果图片 一:先下载 solarized 官网下载:https://github.com/a ...

  5. Mac 终端命令使用自动补全时忽略大小写设置

    Mac 终端在使用 tab 补全命令时默认大小写敏感,通过以下设置方法可以忽略大小写,方法同样适用于 iTerm2. 打开终端输入以下命令: nano .inputrc 将以下命令复制进去: set ...

  6. MacOS上安装Anaconda+Pycharm+TensorFlow+Keras

    一.安装Anaconda 登录https://www.anaconda.com/download/#macos,下载Anaconda3-5.3.1-MacOSX-x86_64.pkg 二.安装Pych ...

  7. python+anaconda+pycharm的使用

    研一开学的时候开始接触了这些,但是对于其各种功能感到十分混乱,现在通过这篇博文将其功能详细的写出来. 1.python解释器 首先要了解python解释器,我们俗称的下载python也就是下载pyth ...

  8. Anaconda Pycharm 是怎么个事儿?

    前言 许多人学习Python的经历可能很相似,写程序没有问题,最后却被各种环境困扰. 不论你是Python小白,还是学习Python有一段时间了.都可以认真的看一下ヾ(≧▽≦*)o 这篇文章让你对An ...

  9. 从mac终端创建cocos2d-x项目在xcode和eclipse正常运行环境配置

    一.创建可以同时运行在xcode和eclipse的项目: 1.打开mac终端,进入cocos2d-x目录下的tools/project-creator,执行命令./create_project.py ...

随机推荐

  1. lintcode 826电脑维修

    826,一个n * m矩阵代表一个电脑的阵列,给你一个list< Point >代表坏掉的电脑坐标.现在我们从(0,0)出发修电脑,要求:   1.必须修完当前行所有坏掉的电脑才能走向下一 ...

  2. 安卓commandlinetools-win-6200805_latest配置

    JDK:1.8.0_251 系统:win10 64bit 问题1 官网下载commandlinetools,解压运行报错 解决方法 打开sdkmanager.bat,修改第17行为set DEFAUL ...

  3. B. Welfare State(RMQ问题的逆向考虑)

    \(对于操作1,我们只关心最后一次操作.\) \(对于操作2,我们只关心值最大的一次操作.\) \(也就是说,我们记录每个居民最后一次被修改的位置\) \(然后它的最终答案就是从这个位置起,max(操 ...

  4. 从excel表格加载数据返回DataSet

    添加命名空间:using System.Data.OleDb; /// <summary> /// 从excel表格加载数据返回DataSet /// </summary> / ...

  5. Vuel路由跳转动画

    1.App.vue中添加 <transition :name="animate"> <router-view/> </transition> e ...

  6. react-redux的理解

    react-redux是辅助redux的,我们正常使用redux是很麻烦的,需要在每个组件中去监听数据变化,执行数据更新等 但是通过react-redux,我们可以简化组件使用公共数据的操作, rea ...

  7. 1、Hbase原理分析

    一.Hbase介绍 1.1.对Hbase的认识 HBase作为面向列的数据库运行在HDFS之上,HDFS缺乏随机读写操作,HBase正是为此而出现. HBase参考 Google 的 Bigtable ...

  8. 性能测试之数据库监控分析工具PMM

    PMM(Percona Monitoring and Management) 是一个用于管理和监控数据库性能的开源平台. . 它能提供全面的基于时间和各类监控指标.计数器的分析. 性能测试中,是做数据 ...

  9. Vue + Element-ui实现后台管理系统(3)---面包屑 + Tag标签切换功能

    面包屑 + Tag标签切换功能 有关后台管理系统之前写过两遍博客,看这篇之前最好先看下这两篇博客.另外这里只展示关键部分代码,项目代码放在github上: mall-manage-system 1.V ...

  10. Offset等一些类似属性的使用

    1.offset系列 // offset 系列 var father = document.querySelector('.father'); var son = document.querySele ...