目录

Python 安装

Python Install

Python,是一种广泛使用的解释型、高级和通用的编程语言。Python 支持多种编程范型,包括结构化、过程式、反射式、面向对象和函数式编程。它拥有动态类型系统和垃圾回收功能,能够自动管理内存使用,并且其本身拥有一个巨大而广泛的标准库。

Python(英国发音:/ˈpaɪθən/;美国发音:/ˈpaɪθɑːn/)

安装

Python 下载

pyenv 管理 Python 版本

pyenv 是 Python 版本管理工具。 pyenv 可以改变全局的 Python 版本,安装多个版本的 Python, 设置目录级别的 Python 版本,还能创建和管理 virtual python environments 。所有的设置都是用户级别的操作,不需要 sudo 命令。

pyenv 主要用来管理 Python 的版本,比如一个项目需要 Python 2.x ,一个项目需要 Python 3.x 。 而 virtualenv 主要用来管理 Python 包的依赖,不同项目需要依赖的包版本不同,则需要使用虚拟环境。

pyenv 通过系统修改环境变量来实现 Python 不同版本的切换。而 virtualenv 通过将 Python 包安装到一个目录来作为 Python 包虚拟环境,通过切换目录来实现不同包环境间的切换。

pyenv 的美好之处在于,它并没有使用将不同的 PATH植入不同的shell这种高耦合的工作方式,而是简单地在PATH植入不同的shell这种高耦合的工作方式,而是简单地在PATH 的最前面插入了一个垫片路径(shims):~/.pyenv/shims:/usr/local/bin:/usr/bin:/bin。所有对 Python 可执行文件的查找都会首先被这个 shims 路径截获,从而使后方的系统路径失效。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
brew install pyenv
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc
echo 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(pyenv init -)"' >> ~/.zshrc
# reset 命令重置终端 下面是重启 shell 的命令
exec "$SHELL"
# 列举所有可用版本
pyenv install -l
pyenv install 3.9.2
# 卸载
pyenv uninstall 3.9.2
# 设置为全局默认 优先级 shell > local > global
pyenv global 3.9.2
# 列出 pyenv 可用的 Python 版本
pyenv versions
# 列举所有命令
pyenv commands

pyenv-virtualenv

1
2
3
4
5
# 创建虚拟环境
pyenv virtualenv 3.9.2 venv3.9.2
pyenv virtualenvs # 列出当前虚拟环境
pyenv activate env-name  # 激活虚拟环境
pyenv deactivate #退出虚拟环境,回到系统环境

删除虚拟环境

1
2
3
pyenv uninstall venv3.9.2
# 或者删除其真实目录
rm -rf ~/.pyenv/versions/venv3.9.2

更换 pip 源

因为国内网络环境,如果在局域网内下载 pip 慢,可以尝试使用 aliyun 提供的镜像,创建 vim ~/.pip/pip.conf ,然后填入:

1
2
3
4
5
[global]
index-url = http://mirrors.aliyun.com/pypi/simple/

[install]
trusted-host=mirrors.aliyun.com

Ubuntu 升级 Python 3

WSL Ubuntu 18.04.4 LTS 默认 Python 3.6

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
python3 -V
python -V

# 安装依赖包
sudo apt update
sudo apt install software-properties-common
# 查看官方源收录版本,如果没有添加 deadsnakes PPA 源
apt search python3
# 添加 deadsnakes PPA 源 回车继续
sudo add-apt-repository ppa:deadsnakes/ppa

sudo apt install python3.9
python3.9 -V
# 配置 python3.9 为系统默认 python3
which python3.9
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.9 2
which python3.6
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.6 1
# 配置 python3 默认指向 python3.9
sudo update-alternatives --config python3
python3 -V

Q&A

在执行 pip install -r requirements.txt 时遇到错误:Command "python setup.py egg_info" failed with error code 1 ? 解决方法是更新 setuptools 和 pip。

1
2
pip install --upgrade setuptools
python3 -m pip install --upgrade --force pip