暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Python 环境搭建

剽悍的派森先生 2021-06-24
436

一、简介

借用官网的一句话来说明 Python 是什么。

Python is a programming language that lets you work quickly and integrate systems more effectively.

Python(UK:/ˈpaɪθən/  US:/ˈpaɪθɑːn/)是一种广泛使用的解释型、高级编程、通用型编程语言。Python 的设计哲学强调代码的可读性和简洁的语法,如使用空格缩进划分代码块,而非使用大括号或者关键词。

Python 在 web 开发,数据处理以及运维领域应用面非常广,当然在各个领域也有很多竞争对手。比如在 web 开发上,Java+Spring 生态威力巨大;在数据处理上,大数据相关组件大多是 Java 开发的,还有 MATLAB 这种商业化的软件;运维领域,docker+k8s 以及云原生理念的普及让 Golang 越来越流行。但是 Python 的易用、简洁以及庞大的生态,仍然让它久盛不衰。来看看官网上是怎么样介绍 Python 的应用场景吧。

  • Web Development: Django, Pyramid, Bottle, Tornado, Flask, web2py

  • GUI Development: tkInter, PyGObject, PyQt, PySide, Kivy, wxPython

  • Scientific and Numeric: SciPy, Pandas, IPython

  • Software Development: Buildbot, Trac, Roundup

  • System Administration: Ansible, Salt, OpenStack

二、安装配置

下载 Python 安装包

首先从官网下载最新版 Python 3.8.5 。MacOS 跟 Linux 系统可以下载源码安装,Windows 直接使用安装器安装即可。32 位系统选择 x86 版本,64 位系统选择 x86-64 版本。

安装完成后,可以通过在终端或命令行查看查看安装的 Python 的具体版本。($ 开头代表终端命令行,不需要输入;# 表示之后内容是注释,下同)

    $ python3 -V
    Python 3.8.5

    配置 pip

    Python 非常强大的一点就是它有庞大的生态。而要想利用 Python 生态中丰富的资源,首先第一步就是要了解如何安装第三方包。

    在安装完 Python 后,一起安装的还有一个 pip ,它就是用来管理各种资源包的。

      $ pip3 -V
      pip 19.2.3 from Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pip (python 3.8)

      pip 是通过网络下载并安装资源,那么资源所在位置就很重要。如果是从国外下载,不仅慢而且经常会 time out,所以手动配置资源地址就很重要了。

      方法一:

      升级 pip 到最新的版本 (>=10.0.0) 后进行配置:

        $ pip3 install pip -U
        $ pip3 config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

        这样在使用 pip 来安装时,会默认调用清华镜像资源。

        方法二:

        1. 需要创建或修改配置文件:

          • Linux 的文件在 ~/.pip/pip.conf

          • Windows 在 %HOMEPATH%\pip\pip.ini

        2. 修改为使用阿里云镜像资源:

          [global]
          index-url = http://mirrors.aliyun.com/pypi/simple
          [install]
          trusted-host=mirrors.aliyun.com

          这样在使用 pip 来安装时,会默认调用阿里云镜像资源。

          使用虚拟环境

          当我们有很多项目要开发的时候,每个项目可能依赖同一个第三方包,但是版本却不同,这该怎办呢?方法就是使用 Python 虚拟环境。

            # 1. 进入项目目录
            $ cd myproj
            # 2. 创建虚拟环境
            $ python3 -m venv .venv
            # 3. 激活虚拟环境
            $ . .venv/bin/activate # 或者 source .venv/bin/activate
            # 4. 退出虚拟环境
            $ deactive

            三、Anaconda

            Anaconda 是一个可用于科学计算的 Python 发行版,支持 Linux、Mac、Windows系统,内置了常用的科学计算包。它解决了官方 Python 的两大痛点。

            • 第一:提供包管理功能;

            • 第二:提供环境管理的功能。

            下载

            官网下载安装包, 根据操作系统选择安装包进行下载,下载完成后直接安装,安装过程选择默认配置即可。

            操作界面使用

            1. 左侧 Home 菜单

            • 可以通过添加 channels 增加镜像地址,如:https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free

            • 可以查看或启动已安装的应用;

            2. 左侧 Environments 菜单,点击箭头选择功能

            • 打开终端命令行

            • 启动 Jupyter notebook

            3. 左侧 Learning 菜单,可以查看各种资源文档;

            命令行使用

            conda 是 Anaconda 下用于包管理和环境管理的工具,功能上类似 pip 和虚拟环境的组合。

            通过 Environments 菜单,选择 open terminal,进入命令行终端。

            1. 修改镜像地址

            和 pip 一样,anaconda 的镜像地址默认在国外,用 conda 安装包的时候会慢,目前可用的国内镜像源地址有清华大学的。修改 ~/.condarc
            (Linux/Mac) 或 C:\Users\当前用户名\.condarc
            (Windows) 配置:

              channels:
              - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
              - defaults
              show_channel_urls: true

              2. 查看已有环境

                $ conda info -e
                # conda environments:
                #
                base * opt/anaconda3

                或者

                  $ conda env list
                  # conda environments:
                  #
                  base * opt/anaconda3

                  3. 新建环境

                    # 创建一个名为 myenv 的环境并指定 python 版本为3.6
                    $ conda create -n myenv python=3.6
                    # 切换到 myenv 环境
                    $ activate myenv
                    # 删除learn环境及下属所有包
                    $ conda remove -n myenv --all

                    4. 导入导出环境

                    如果想要导出当前环境的包信息可以用以下指令导出到 yaml 文件。

                      # * Re-run this command inside an activated conda environment.
                      $ conda env export > myenv.yaml
                      # * Provide an environment name via --name or -n
                      $ conda env export -n myenv > myenv.yam

                      当需要重新创建一个相同的虚拟环境时可以用创建。

                        $ conda env create -f myenv.yaml

                        5. 包管理

                          # 查看已安装的包
                          $ conda list
                          # 安装 matplotlib
                          $ conda install matplotlib
                          # 包更新
                          $ conda update matplotlib
                          # 删除包
                          $ conda remove matplotli

                          在 conda 中 anything is a package。conda 本身可以看作是一个包,python 环境可以看作是一个包,anaconda 也可以看作是一个包,因此除了普通的第三方包支持更新之外,这3个包也支持。比如:

                            # 更新 conda 本身
                            $ conda update conda
                            # 更新 anaconda 应用
                            $ conda update anaconda
                            # 更新 python
                            $ conda update python

                            四、Jupyter Notebook

                            简单来说 jupyter 的优点就是“所写即所得”。在浏览器上就可以编辑代码、记录文档,并且能够立即得到程序运行结果。

                            配置

                            在 Environments 菜单中选择要启动的环境,然后 open terminal。在终端执行:

                              $ jupyter notebook --generate-config

                              这个命令的作用是生成 jupyter notebook 的配置文件。如果是第一次运行,会直接生成这个文件。如果之前执行过这个命令,会提示是否要覆盖原来的文件。我们的主要目的只是为了找到这个文件的路径。

                              编辑配置文件

                              文件通常在 ~/.jupyter/jupyter_notebook_config.py
                              。编辑生成的文件,找到对应位置并修改。

                                ## The directory to use for notebooks and kernels.
                                # c.NotebookApp.notebook_dir = ''


                                ## Hashed password to use for web authentication.
                                #
                                # To generate, type in a python/IPython shell:
                                #
                                # from notebook.auth import passwd; passwd()
                                #
                                # The string should be of the form type:salt:hashed-password.
                                # c.NotebookApp.password = ''
                                • c.NotebookApp.notebook_dir:工作目录,也就是之后代码保存的文件目录,启动需要去掉行头的 #
                                  ,下同

                                • c.NotebookApp.password:配置登录密码,密码生成如下:

                                  1. 首先运行 ipython

                                    • $ ipython
                                    • 执行代码,根据提示输入密码

                                      • from notebook.auth import passwd; passwd()
                                      • 复制生成的结果,写入到 c.NotebookApp.password 配置中

                                    启动

                                    在 anaconda 界面,选择运行环境,然后启动 jupyter notebook 或者 jupyter lab。之后输入密码登录,如果长时间不能跳转页面,可以手动刷新。

                                    1. 新建 notebook

                                    2. 编辑代码

                                      import pandas as pd
                                      import numpy as np


                                      dates = pd.date_range('2/6/2020', periods=5, freq='D')
                                      df = pd.DataFrame(np.random.randn(5,4), index=dates, columns=list('ABCD'))
                                      df.head()

                                       3. 运行,结果如图:

                                      五、小结

                                      经过一番折腾,Python 运行环境总算有了。接下来就可以正式进入 Python 的学习与使用了。本系列教程前期将主要使用 anaconda 作为包管理以及环境管理的工具,使用 jupyter 作为代码编辑与运行的工具。

                                      参考链接:

                                      Python 官网首页:https://www.python.org/

                                      Python 介绍:https://www.python.org/about/apps/

                                      Python 对比 MATLAB:https://www.zhihu.com/question/21404521

                                      下载 Python 安装包地址:https://www.python.org/downloads/release/python-385/

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

                                      文章转载自剽悍的派森先生,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

                                      评论