Python开发环境搭建

好像任何一门编程语言都绕不过开发环境搭建。比如说Java,初学者可能还没明白什么是JDK,但一般都会按照前辈们的步骤,先下载JDK,然后添加环境变量JAVA_HOME,再把JAVA_HOME的bin目录加入到环境变量PATH中,有过实际项目开发经验的朋友大多数紧接着就会安装依赖管理、项目构建工具,比如说国内常用的Maven等。Golang、Scala语言的开发环境搭建也都类似。至于用什么编辑器或者IDE来写代码,取决于语言特性或个人习惯,比如当前主流的vim、VS Code、JetBrains全家桶、Eclipse等等。

使用Python语言的初学者建议直接安装Anaconda或者轻量级的Miniconda。

为什么需要Anaconda

Anaconda官网:https://www.anaconda.com/

Anaconda 是一个用于科学计算的 Python 发行版,支持 Linux, Mac, Windows, 包含了众多流行的科学计算、数据分析的 Python 包。

介绍Anaconda之前必须要简单提一下Conda。官网:https://docs.conda.io/en/latest/

Conda is an open source package management system and environment management system that runs on Windows, macOS and Linux. Conda quickly installs, runs and updates packages and their dependencies. Conda easily creates, saves, loads and switches between environments on your local computer. It was created for Python programs, but it can package and distribute software for any language.

Conda是包管理器。使用Python进行数据分析时,你会用到很多第三方的包,Conda可以很好地帮助你在计算机上安装和管理这些包,包括安装、卸载和更新包。

Conda也是环境管理器。比如你在A项目中用了Python2,而B项目需要使用Python3,同时安装两个Python版本可能会造成许多混乱和错误。这时候,Conda就可以帮助你为不同的项目建立不同的运行环境。再比如说很多项目使用的包版本不同,很难同时安装多个版本,此时,可以为不同版本建立不同环境,然后切换到对应版本的环境中工作。

Anaconda包括Python、Conda以及一大堆安装好的科学计算相关工具包,比如:numpy、pandas等等,开箱即用,非常方便。

Miniconda默认只包含Python和Conda。

换句话说,安装好了Anaconda,就相当于同时有了Python、环境管理器、包管理器以及一大堆开箱即用的科学计算工具包。

安装使用Anaconda 安装Anaconda

安装非常简单,注意一下安装目录建议选择磁盘空间较大的地方。官网下载比较慢的话,可以选择清华大学镜像站下载(根据不同操作系统选择相应的包):
https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/?C=M&O=D

安装成功后,命令行中敲conda info,会显示conda的版本和python的版本等详细信息;再敲conda list,会列出当前环境下所有安装的包。

换成国内镜像源

conda和pip默认国外镜像源,所以每次安装模块conda install xxx或者pip install xxx的时候非常慢,换成国内的镜像源会显著加快模块安装速度。

修改Conda镜像源
详细操作见:
https://mirror.tuna.tsinghua.edu.cn/help/anaconda/

修改pip镜像源
Linux系统操作命令如下:

mkdir ~/.pip cd ~/.pip vim pip.conf

添加中科大镜像源,内容如下:

[global] index-url = https://pypi.mirrors.ustc.edu.cn/simple/

不知道你有没有疑问,既然有了Conda包管理器,为什么Anaconda环境中,可能还需要用pip安装包呢?

因为尽管在Anaconda下我们可以很方便的使用conda install xxx来安装我们需要的依赖,但是Anaconda本身只提供部分包,远没有pip提供的包多,有时conda无法安装我们需要的包,此时可能需要用pip将其装到conda环境里。

那么Anaconda环境下pip命令安装的包在哪里呢?会不会影响其他环境呢?

首先要确保用的是本环境的pip,这样pip install xxx时,包才会安装到本环境中。Linux系统可以使用which pip来查看当前使用的pip是哪个环境的pip。

另外需要注意一下:安装特定版本的包,conda用=,pip用==。举例来说:

conda install xxx=1.0.0 pip install xxx==1.0.0 使用Anaconda

安装好了,默认是在base虚拟环境下,此时我们从base环境复制一份出来,在新环境里工作。

# 复制base环境, 创建test环境 conda create --name test --clone base # 激活test环境 conda activate test

再列出我本机的所有环境,如下,可见当前有2个环境,当前激活的是test环境:

(test) ➜ ~ conda info -e # conda environments: # base /Volumes/300g/opt/anaconda3 test * /Volumes/300g/opt/anaconda3/envs/test

Anaconda默认安装了jupyter,命令行输入:

jupyter notebook

此时会自动弹出浏览器窗口打开Jupyter Notebook网页,默认为:8888。下面会简单介绍一下Jupyter Notebook。

这里顺便贴一下conda一些常用命令:

虚拟环境管理

# 创建环境,后面的python=3.6是指定python的版本 conda create --name env_name python=3.6 # 创建包含某些包的环境(也可以加上版本信息) conda create --name env_name python=3.7 numpy scrapy # 激活某个环境 conda activate env_name # 关闭某个环境 conda deactivate # 复制某个环境 conda create --name new_env_name --clone old_env_name # 删除某个环境 conda remove --name env_name --all # 生成需要分享环境的yml文件(需要在虚拟环境中执行) conda env export > environment.yml # 别人在自己本地使用yml文件创建虚拟环境 conda env create -f environment.yml

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wspjgg.html