专栏首页木下学PythonPython 多环境搭建方法

Python 多环境搭建方法

前言

大多数小伙伴在第一次接触 python 的时候都会被它强大的包所吸引,想要写一个网站可以使用 Django ,想要做数学运算就想到了 Numpy ,想做数据分析可以用 Pandas 等等

但是安装的包越多,python 的环境就会出现越来多的兼容性问题,比如两个包同时依赖于 Scipy,但是A包和B包他们对于 Scipy 的版本不同,导致装了A包就无法装B包。

为了解决这个恼人的问题,Anconda3 就大显神通了,它是一个免费的 Python 发行版,其最大的特色是 Virtualenv(虚拟环境),通过 Conda 管理器可以同时管理多个 Python 环境,回到上面的问题,如果我们把A包和B包隔离开,让他们处于两个不同的 python 环境就好了,问题就迎刃而解了。

start

上面我们说了 Anaconda 的作用后,下面我就开始讲一下如何正确的下载安装、配置,以及使用 Anaconda

首先我们进入 Anaconda 的官网

https://www.anaconda.com/distribution/

在下载界面的下方就可以看到 Anaconda 的下载地址,上面有三个选项分别是 Windows macOS 以及 Linux 我们选择我们系统对应的就可以了,下面是python的版本,这里我们安装最新的 Anaconda3 也就是 Python 3.7 version 点击Downloade,耐心等待一下就可以下载好了。

上图就是就是安装界面了,这个 Windows 下面的安装包,点击 Next。

点击 I Agree

这里表示,你是自己使用还是你计算机下面所有的用户都可以使用,因为我们一般都是个人计算机,所以我建议选择 Just Me

这里就要开始选择安装路径了,如果C盘空间足够大的话,我建议直接安装在默认路径。

到了这一步就比较关键了,其中第二个选项一定勾选,至于第一个选项,它的意思是会把anconda添加进环境变量,建议勾选第一个选项,这样子我们直接可以在cmd命令控制台使用conda命令,否则必须在开始菜单的(Anaconda (64-bit))这个程序去运行conda 命令。

开始安装了,这个可能要等一段时间,小编使用 nvme 的固态硬盘,大约需要 5min

可以看到安装好了之后,可以看到 Anconda和 Pycharm 的商业互吹界面,但是不得不说这一组好用的工具组合,后续我们也会介绍怎么在 Pycharm 里配置 Anaconda

取消这两个勾选,我们点击完成,如果不取消也可以,它会弹出一些Anaconda的介绍。

简单提一下 macOS 和 Linux 下的安装方法:

在 macOS 里,安装方法和普通的软件安装并没有什么不同,直接拖动安装就可以了,后面也会遇到类似于配置环境变量的选项,建议全部勾选。

在 Linux 里,我们下载的安装包可能是Anacond3_xxx.bash (xxx代表这个安装包的版本号)在所在文件里打开 terminal 输入bash ./Anacond3_xxx.bash 之后会出现一些描述性的文件,我们一直按住回车键,会一直滚屏出现安装前需要看的条款,到文末会弹出是否接受的询问,我们选择 yes ,在后面的安装路径或者是配置环境变量我们选择yes或者回车就可以了。

在这里我们就已经安装好 Anaconda 了,下面我们介绍一下如何使用和配置 Anaconda,它最便捷的地方在于虚拟环境,下面我们开始创建一个Python虚拟环境。

首先打开 cmd(macOS和Linux为terminal)

我们输入 conda info -e

上面的指令的意思是,列出现在 Anaconda管理的所有环境,可以看到我的 conda 下面有5个环境,如果是第一次安装一般只有一个环境就是 base

下面我们开始创建我们第一个虚拟环境

输入指令conda create -n myenv python=3.6

等待一会儿就会出现这样的画面,其中橙色框框是我们下载相关资源的网络位置,一般来说这里的信息你们和我图上是不同的,我已经更改过 conda 的镜像源,所以这里的网址是清华镜像源。

更换镜像源是十分重要的步骤,如果你没有xx上网,这里请求的资源是从国外的服务器请求的,下载速度是会非常慢,那么如何更换镜像源?

下面我们开始更换镜像源,我们进入清华镜像源的网站: https://mirror.tuna.tsinghua.edu.cn/help/anaconda/

在这份帮助指南上,我做一些简短的说明。首先,注意一下画橙色线的地方,我们需要更改我们用户文件夹下的.condarc这个文件,如果你是 Windows ,需要执行那句指令才可以看到这个文件,至于 macOS 和Linux 用户,可能在文件下是看不见这个文件的,但是它是存在的,只不过是一个隐藏文件,我们在我们的用户文件下,直接使用vim命令去编辑这个文件就好。

把.condarc里原来的内容替换成灰色区域的代码。我们再次执行 conda create -n myenv python=3.6选择yes,就会发现更换镜像源之后下载速度快多了。

需要注意的是,我们这里仅仅是更换了Anaconda 的镜像源,只有使用 conda 命令安装包的时候才会使用国内源,当使用 pip 安装的时候,还需要对pip进行换源操作 pypi 的换源方法在如下网址: https://mirrors.tuna.tsinghua.edu.cn/help/pypi/

在最后的描述中,我们可以了解到,如果想要使用虚拟环境,需要使用 conda activate myenv(这里的myenv是我们刚刚在创建虚拟环境的时候所起的名字),我们输入这个指令,在命令号前面的首部,就可以看见我们的环境名字,这表明我们当前是在这个虚拟环境在进行操作,我们在这里执行pip或是是conda的安装命令都会把安装包安装在这个虚拟环境中。

来试一下 conda install numpy 吧,如果你已经更换了 pypi 源可以试一下 pip install numpy

到现在我们还没有把 Anaconda 和Pycharm 这对cp组合起来呢,下面介绍一下,如何在 Pycharm 里使用我们创建好的conda虚拟环境。

首先打开Pycharm,在 file 里面 open 一个新建的空的文件夹,切记不要新建 project ,打开后,选择 Settings

选择 Project Interpreter

这里可以看到使用的是一个private名字的虚拟环境,是我之前已经创建好的,如果在你的界面,这里的环境应该是空的,不论怎么样都没关系,因为下面我们会添加我们的conda虚拟环境,在蓝色路径打码的旁边有一个齿轮样式的图标,点击它。

在右边的选项里面我们选择 conda 环境,选择第二个选项现存有的环境,一般来说 Pycharm 会很贴心的为我们自动设置环境路径,如果没有自动设置也没有关系,一般来说这个虚拟环境的路径在你用户文件夹下的 Anaconda3 的 envs 文件下,进入对应的虚拟环境文件里,找到 python 文件就可以了,至于红线的选项,如果勾选得话,在另外一个项目也可以引用这个 python 环境,不勾选只能当前的项目可以看到,不过没关系,即使没有勾选,在另外一个项目里也可以随时用相同的方法add回来。

一切都完成后,点击 Apply ,就可以在这个文件夹下 New 一个 python 文件了,一般来说第一次使用环境系统都需要 Indexing 一下所有的资源文件,在 run 的标志由灰变亮之后,就可以开始愉快地打代码了。

end

Anaconda 是一个高效的 python 环境管理器,目前 Anaconda+Jupyter 或者 Anaconda+Pycharm 已经越来越成为一种主流趋势,使用更高效的工具,可以创造更多的快乐。

final

听说点“在看”的,扫了下方二维码的人都变得更好看咯~

-END-

本文分享自微信公众号 - 木下学Python(zjk_py),作者:Always

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-03-17

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 短租房现状分析

    https://tianchi.aliyun.com/competition/entrance/231715/information

    用户6825444
  • 爬取丁香医生生成疫情热力地图

    https://ncov.dxy.cn/ncovh5/view/pneumonia?scene=2&clicktime=1579584467&enterid=1...

    用户6825444
  • 爬虫 | 时间日期获取

    在爬虫中,我们在爬取某些网页时,需要的数据中有时间日期,静态的网页直接就可以爬取,但碰到动态加载的对应的时间可能就是 js 代码生成的,直接爬取得不到。小编给大...

    用户6825444
  • 我的前端开发工作流 - 环境篇

    有人说过程序员和码农的本质区别就是程序员会不断探索提高生产力的方法。思维模式的转变是提高生产力的最好方式,但打磨我们的工具也是十分有意义的事,本文将从开发环境,...

    py3study
  • JS基础测试: 在jQuery中,哪个方法可以解决'$'变量名冲突的问题?​

    许多 JavaScript 库使用 $ 作为函数或变量名,jQuery 也一样。在 jQuery 中,$ 仅仅是 jQuery 的别名,因此即使不使用 $ 也能...

    舒克
  • 使用jQuery封装实用函数

    一、引言 项目开发中,前端会有一个辅助工具类的js文件,比如cookie的操作,团队成员自己封装的方法。大多数时候,我们开发人员自己都是写一个全局函数,不考虑后...

    八哥
  • 技术学习的二八法则

    二八法则,帕列托法则(定律)也叫巴莱特定律、最省力的法则、不平衡原则等。被广泛应用在社会学,企业管理学等。

    姬小光
  • 和233酱一起刷leetcode系列

    Leetcode这个网站上的题都是一些经典的公司用来面试应聘者的面试题,很多人通过刷这些题来应聘一些喜欢面试算法的公司,比如:Google、微软、Faceboo...

    Monica2333
  • 【项目实战】ETL 数据导入

    数据已经在 MySQL 中生成,接下来就开始进行数据仓库的搭建环节。首先最重要的,也是首要的流程便是 ETL。这个阶段,因为是对结构化数据进行抽取,所以直接使用...

    十里桃花舞丶
  • C++中消息自动派发之一 About JSON

    1. 闲序   游戏服务器之间通信大多采用异步消息通信。而消息打包常用格式有:google protobuff,facebook thrift, 千千万万种自定...

    知然

扫码关注云+社区

领取腾讯云代金券