Python学习笔记(CentOS 7.9安装配置pyenvpipipython和jupyter)

实践是知识的母亲,知识是生活的明灯。这篇文章主要讲述Python学习笔记:CentOS 7.9安装配置pyenvpipipython和jupyter相关的知识,希望能为你提供帮助。
一、简单概念:
1、pyenv:python多版本管理工具,可以管理Python解释器、可以管理Python版本,也可以管理Python的虚拟环境,官网https://github.com/pyenv。
2、虚拟环境:默认使用的Python环境是一个公共环境,如果多个项目使用不同Python版本开发、部署和运行,或使用相同Python版本开发但不同项目使用了不同版本的库,都会带来冲突,最好的解决办法就是每一个项目独立运行于属于它自己的环境中。在虚拟环境中安装的软件包与公共环境隔离,虚拟环境中的软件包只在虚拟环境中有效,在公共环境中安装的软件包在虚拟环境中也不可见。
3、pip:Python的包管理工具,3.x版本中已自带,可以直接使用。
4、ipython:增强的交互式Python命令行工具,支持变量自动补全、自动缩进、支持shell,增加了很多函数。
5、jupyter:基于Web的交互式笔记本,可以非常方便地使用Python,支持实时代码、数学方程、可视化和markdown。安装jupyter时也会自动安装ipython。


二、 安装使用pyenv:
1、查看系统版本和自带Python版本:

# cat /etc/centos-release


# python -V


2、安装pyenv:
(1)安装git:
# yum -y install git

(2)安装pyenv依赖软件包:
# yum -y install gcc make patch gdbm-devel openssl-devel sqlite-devel readline-devel zlib-devel bzip2-devel libffi-devel

说明:软件包libffi-devel需要安装,否则使用jupyter时会提示“ModuleNotFoundError: No module named _ctypes”。
(3)配置git clone加速:
a、查询github.com和github.global.ssl.fastly.net域名所对应的IP:
# yum -y install bind-utils
# nslookup github.com


# nslookup github.global.ssl.fastly.net


说明:git clone慢是因为github.global.ssl.fastly.net域名被限制了
b、修改hosts文件:
CentOS:/etc/hosts
Windows:C:\\Windows\\System32\\drivers\\etc\\hosts
末尾新增如下两行代码:
20.205.243.166 github.com
31.13.95.37 github.global.ssl.fastly.net

c、刷新DNS缓存:
【Python学习笔记(CentOS 7.9安装配置pyenvpipipython和jupyter)】CentOS:
# yum -y install nscd
# nscd -i hosts

Windows:CMD下执行ipconfig /flushdns
(4)创建用户:
# useradd python

(5)使用python用户身份安装pyenv:
# su - python

方法一:通过pyenv-installer脚本安装
$ curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash

方法二:单独git clone所需组件(此次演示安装方式)
$ git clone https://github.com/pyenv/pyenv.git ~/.pyenv


$ git clone https://github.com/pyenv/pyenv-doctor.git ~/.pyenv/plugins/pyenv-doctor


$ git clone https://github.com/pyenv/pyenv-installer.git ~/.pyenv/plugins/pyenv-installer


$ git clone https://github.com/pyenv/pyenv-update.git ~/.pyenv/plugins/pyenv-update


$ git clone https://github.com/pyenv/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv


$ git clone https://github.com/pyenv/pyenv-which-ext.git ~/.pyenv/plugins/pyenv-which-ext


(6)配置python用户环境变量:配置python用户环境变量:
$ vim ~/.bash_profile

新增如下三行代码:
export PATH="/home/python/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"

$ . ~/.bash_profile
$ echo $PATH


$ ls ~/.pyenv/


$ ls ~/.pyenv/plugins


$ ls ~/.pyenv/versions


说明:
a、安装后的pyenv在~/.pyenv目录下
b、更新pyenv:
$ pyenv update

c、删除pyenv:
$ rm -rf ~/.pyenv
$ vim ~/.bash_profile

删除如下三行代码:
export PATH="/home/python/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"

$ . ~/.bash_profile

3、使用pyenv安装指定Python版本:
(1)查看pyenv命令使用信息:
$ pyenv


命令参考:https://github.com/pyenv/pyenv/blob/master/COMMANDS.md
(2)查看安装帮助信息:
$ pyenv help install


(3)查看所有可安装Python版本:
$ pyenv install -l

(4)在线方式安装3.7.13版本:
$ pyenv install 3.7.13


说明:在线方式安装Python不推荐,速度较慢。
(5)缓存方式安装3.7.13版本:
$ mkdir -pv ~/.pyenv/cache
$ cd ~/.pyenv/cache

将安装过程中会用到的Python-3.7.13.tar.xz上传至cache目录

$ pyenv install 3.7.13


$ pyenv rehash

(6)缓存方式安装3.9.12版本:
将安装过程中会用到的Python-3.9.12.tar.xz上传至cache目录

$ pyenv install 3.9.12


$ pyenv rehash

(7)查看当前Python版本:
$ python -V


$ pyenv version


(8)查看所有可用Python版本和当前Python版本:
$ pyenv versions


4、设置Python版本的三种方式:
(1)global:全局设置(不推荐)
$ pyenv global 3.7.13
$ python -V


$ pyenv version


$ pyenv versions


(2)shell:会话设置,只作用于当前shell,退出当前shell后失效,新开shell不受影响(不推荐)
$ pyenv shell system
$ pyenv versions



(3)local:本地设置,当前目录开始向下递归继承此设置,父目录和同级目录不受影响,新开shell对应目录也受影响(推荐)
$ mkdir -pv ~/projects/db/mysql
$ cd projects/db
$ pyenv local 3.9.12
$ pyenv versions



说明:当前设置的shell需要退出后重新登录,或打开新的shell查看设置效果。
5、创建3.7.13版本的虚拟环境:
$ mkdir -pv ~/projects/web/nginx
$ cd projects/web
$ pyenv versions


$ pyenv virtualenv 3.7.13 py3.7.13


$ pyenv versions


$ pyenv local py3.7.13


说明:进入虚拟环境后会有提示符显示。
$ pyenv versions


$ ls ~/.pyenv/versions


说明:已安装的Python版本。


三、使用pip:
1、配置pip阿里云源:
(1)CentOS:
$ mkdir -pv ~/.pip
$ vim ~/.pip/pip.conf

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

(2)Windows:

a、文件夹地址栏输入%APPDATA%后回车,快速进入C:\\Users\\Marion\\AppData\\Roaming目录
b、创建pip目录,并在pip目录下创建pip.ini配置文件
c、编辑pip.ini配置文件内容:
[global]
index-url=https://mirrors.aliyun.com/pypi/simple/
[install]
trusted-host=mirrors.aliyun.com

配置前下载速度:

配置后下载速度:

2、升级pip:
(1)CentOS:
$ pip install --upgrade pip
$ pip -V



(2)Windows:
a、以管理员身份运行CMD:pip install --upgrade pip

b、报错后先执行:python -m ensurepip

c、再执行:python -m pip install --upgrade pip

d、查看升级后的pip版本:pip -V

3、公共环境中使用pip安装redis:
(1)查看pip命令使用信息:
$ pip

(2)查看安装帮助信息:
$ pip help install

(3)安装redis:
$ pip install redis



说明:由于是在3.7.13公共环境中安装的redis,所以redis及其依赖软件包安装在公共环境的site-packages目录下,不在虚拟环境中。只有创建了虚拟环境,才会有envs目录。
  • 公共环境软件包安装位置:~/.pyenv/versions/3.7.13/lib/python3.7/site-packages/
  • 虚拟环境软件包安装位置:~/.pyenv/versions/3.7.13/envs/py3.7.13/lib/python3.7/site-packages/
4、虚拟环境中使用pip安装ipython:
(1)安装ipython:
$ cd /home/python/projects/web
$ pip install ipython


(2)使用ipython:
$ ipython




说明:只能在虚拟环境中使用ipython。
5、虚拟环境中使用pip安装jupyter:
(1)安装jupyter:
$ cd /home/python/projects/web
$ pip install jupyter



(2)使用jupyter:
$ jupyter


$ jupyter notebook help
$ jupyter notebook password


说明:密码123456。
$ jupyter notebook --ip

    推荐阅读