最近我在用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. 设置 Linux 支持中文

    1.首先在 command 输入 locale,可以看到 Linux 下默认的系统语言的是英文 2.vim ~/.bashrc 打开这个文件,该文件夹相当于系统配置文件 3.打开后,将后三行命令输入到 ...

  2. tomcat多个springboot项目启动失败

    多个springboot项目打包成war包并放到tomcat下运行时出错了错误信息: Caused by: org.springframework.jmx.export.UnableToRegiste ...

  3. c++ concurrency

    c++的并发涉及到这么几个东西: std::thread std::mutex std::lock_guard std::lock 参考资料: http://en.cppreference.com/w ...

  4. Java集合面试题汇总篇

    文章收录在 GitHub JavaKeeper ,N线互联网开发必备技能兵器谱 作为一位小菜 "一面面试官",面试过程中,我肯定会问 Java 集合的内容,同时作为求职者,也肯定会 ...

  5. metasploit payload运行原理浅析

    背景 最近在做一些msf相关的事情,今天听到免杀相关的,去查询了下相关资料. 第一个不能错过的就是cobalt strike作者早年写的metasploit-loader项目了,我看了项目源码,找了一 ...

  6. Qt保持窗口在最上方

    原文:https://blog.csdn.net/hl1hl/article/details/85244451 前言 在Qt开发桌面软件的过程中,根据开发的需求不同,我们经常需要将弹出窗口,一般常见的 ...

  7. VA01信贷使用

    1业务场景 业务在正式机中发现,当使用VA01输入客户编号回车后会报错 2解决方法 1. SE24进入CL_IM_UKM_SD_FSCM_INTEGR1 2. 双击方法IF_EX_BADI_SD_CM ...

  8. Mybatis学习笔记汇总(包括源码和jar包)

    博客整理 Mybatis学习笔记(一)--对原生jdbc中问题的总结 Mybatis学习笔记(二)--Mybatis框架 Mybatis学习笔记(三)--入门程序 MyBatis学习笔记(四)--入门 ...

  9. java 实现mongoDB 增加,删除,修改,查看,多条件查询,聚合查询,分组查询(史上最全)

    首先idea创建一手springboot项目 引入如下依赖 <dependency> <groupId>org.mongodb</groupId> <arti ...

  10. C++内存管理学习笔记(1)

    /****************************************************************/ /*            学习是合作和分享式的! /* Auth ...