python 版本、环境和包管理

版本管理

pyenv

# mac
brew install pyenv
echo 'eval "$(pyenv init --path)"' >> ~/.zshrc

# linux
curl https://pyenv.run | bash

export PYENV_ROOT="$HOME/.pyenv" >> ~/.bashrc
export PATH="$PYENV_ROOT/bin:$PATH" >> ~/.bashrc
eval "$(pyenv init --path)" >> ~/.bashrc
  • 使用
# 查看可用版本
pyenv install -list
# 查看已安装的 Python 版本
pyenv versions
# 安装指定版本
pyenv install 3.9.7
# 指定全局 Python 版本
# 切换版本后, 相应的pip和包仓库都会自动切换过去
pyenv global 3.9.7
# 指定当前 shell 下的 Python 版本
pyenv local 3.9.7
# 卸载指定版本
pyenv uninstall 3.9.7
  • 原理
    在这里插入图片描述

设置python3, pip3为默认大版本(linux)

  • 该命令会修改系统默认调用的Python大版本(/usr/bin/python),而很多系统命令依赖2.X的Python
    • 因此最好不要使用该命令管理Python版本,推荐使用pyenv
  • 参考: https://zhuanlan.zhihu.com/p/63071319
# python3优先级比2高,所以默认为3
sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 100
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 150
# 选择默认python版本
sudo update-alternatives --config python

# 安装pip3
sudo apt-get install python3-pip
# 使用pip时报错ImportError: No module named 'pip._internal'解决方案
wget https://bootstrap.pypa.io/get-pip.py  --no-check-certificate
sudo python3 get-pip.py --force-reinstall

环境管理

virtualenv(venv)

  • pyhton3已经内置venv模块,无需额外安装virtualenv模块了
 # 新建虚拟环境
 python -m venv <name>
 # 激活虚拟环境
 # 激活后,命令行提示符前会显示当前虚拟环境的名字
 source <name>/bin/activate
 # 退出虚拟环境
 deactivate

pipenv

# 安装
pip install pipenv
# 新建虚拟环境
pipenv install [--python <version>]
 # 激活虚拟环境
 # 激活后,命令行提示符前会显示当前虚拟环境的名字
pipenv shell
# 在该虚拟环境中安装依赖
pipenv install <pkg>
 # 退出虚拟环境
 exit

conda(anaconda)

  • conda不仅是安装包的一个软件,还是一个环境管理的工具
    • conda自己可以用来创建环境
      • 而pip不能,需要依赖virtualenv之类的
    • 可以管理很多个版本的python
      在这里插入图片描述
  • 安装
brew install anaconda
echo 'export PATH="$PATH:/usr/local/anaconda3/bin"' >> ~/.zshrc
source ~/.zshrc
  • 使用
# 新建虚拟环境
conda create --name <env>
# 激活环境
conda activate <env>
# 退出虚拟环境
conda deactivate <env>
# 删除虚拟环境
conda remove --n <env>
# 查看所有存在的虚拟环境
conda env list
# 在该虚拟环境中安装依赖
conda install <pkg>

包管理

pip

# 显示已经安装的包
pip list
# 显示可升级的包
pip list -o
# 显示包的详细详细,例如版本、作者、安装位置等
pip show <pkg>

# 安装指定版本
pip install <pkg>==<version>
# 升级到最新版本
pip install --upgrade <pkg>
# 批量安装
pip install -r requrements.txt
# 输出依赖
pip freeze > requirements.txt # 所在python环境安装的所有python包(项目没有用到的包也会被包括下来)

pip install pipreqs
pipreqs . --encoding=utf8--force

# 卸载包
pip uninstall <pkg>
# 卸载包及其依赖
pip install pip-autoremove
pip-autoremove <pkg> -y

pipenv

# 安装包
pipenv install <pkg>[==<version>]
#查看依赖关系
pipenv graph
# 清除pipefile.lock文件中声明以外的包
pipenv clean
# 按照pipefile.lock中的依赖声明下载所有依赖
pipenv sync
# 更新指定包
pipenv update <pkg>
# 导出requirements.txt
pipenv lock -r > requirements.txt
# 从requirements.txt导入
pipenv install -r requirements.txt
# 使用底层的pip
pipenv run pip

在这里插入图片描述

pypi

# 使用镜像源安装
pip install -i <mirror> <pkg>
# 更换默认镜像源
pip config set global.index-url <mirror>
  • 也可以通过把以下内容写到 ~/.pip/pip.conf 文件来配置
[global]
	index-url = https://pypi.doubanio.com/simple
[install]
	trusted-host = pypi.doubanio.com

发布自己写的包

// TODO

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值