Linux 冷知识

① python -m pip

参考文章:Why you should use python -m pip

文章讲的是为什么下载库时最好用 python -m pip install 而不是 pip install,因为如果系统中存在多个 python,那么直接用 pip 下载可能会使库下的位置和你想的 python 版本位置对不上,而使用 python3.7 -m pip install 或者 python3.8 -m pip install 则可以明确的指定安装的位置。但如果你本身处于虚拟环境中,比如 anaconda、virtualenv / virtualenvwrapper 中,那么直接使用 pip 下载也是可以的(但是作者说最好还是 python -m pip install

PS:当你下载一些库时,提示使用 python -m pip install <pkn>,可能会报错 /bin/python: No module named pip,这时换成 python3 -m pip install <pkn> 就好了

② 创建独立虚拟 python 环境的神器: virtualenv 和 virtualenvwrapper

参考文章:Python三神器之virtualenv、virtualenvwrapper
官方网站:virtualenvvirtualenvwrapper

这俩神器的作用与 anaconda 类似(如果你听说过的话),建议在 Windows 上用 anaconda,在 Linux(或 WSL)上用 virtualenv / virtualenvwrapper
众所周知,Linux Ubuntu 自带两个版本的 python,分别是 python 2.7 和 python 3.8,那么虚拟环境的就是在已有版本的基础上上建立的
virtualenv 与 virtualenvwrapper 最大的不同,前者是在当前目录下创建文件夹,后者在用户目录($HOME/.virtualenvs)创建文件夹

下载方法

# virtualenv

python3 -m pip install --user virtualenv
python3 -m virtualenv --help

# -------------------------------------------------

# virtualenvwrapper

sudo pip install virtualenvwrapper

# 在  ~/.zshrc 最下面添加以下内容
export WORKON_HOME=$HOME/.virtualenvs
export PROJECT_HOME=$HOME/Devel
source /usr/local/bin/virtualenvwrapper.sh
VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3

source ~/.zshrc

# 在 /usr/local/bin/virtualenvwrapper.sh 中替换以下内容
# VIRTUALENVWRAPPER_PYTHON="$(command \which python)" --> VIRTUALENVWRAPPER_PYTHON="$(command \which python3)"

使用方法

# virtualenv

virtualenv -p python2 venv # 在当前目录下建立虚拟环境文件夹 venv,版本为 python 2.7
virtualenv -p python3 --no-site-packages venv # 同上,但不依赖系统环境中的 site packages,且版本为 python 3.8

cd venv # 进入虚拟环境文件夹中
source bin/activate # 开启虚拟环境

deactivate # 退出虚拟环境

# -------------------------------------------------

# virtualenvwrapper

workon # 列出虚拟环境列表
workon <envs> # 切换虚拟环境
mkvirtualenv -p python3 venv # 新建虚拟环境 venv,创建目录为 $HOME/.virtualenvs/,版本为 python 3.8
rmvirtualenv venv # 删除虚拟环境
deactivate # 离开虚拟环境

PS:如果你只是想使用不同的 python 版本运行脚本,只需要切换使用 python name.pypython3 name.py 即可

③ pipx

参考文章:Pipx:在隔离环境中安装和运行 Python 应用
官方网站:pipx

pipx 可以为每一个 PyPI 托管中的库单独生成一个虚拟环境,适用于测试某个库时,一键安装并测试,用完即删
好处是运行不需要 sudo 权限,下载的库也是最新版本,甚至可以不用下载直接测试某网站上的库或者 .py 脚本
注意,它和 pip 没有半毛钱关系,即运行不会影响到你所有的程序

# 下载方法

python3 -m pip install --user pipx -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
python3 -m pipx ensurepath
sudo apt install python3.8-venv

# 使用方法

pipx list # 查看所有已安装的应用
pipx install <pkn> # 下载特定应用
pipx uninstall <pkn> # 卸载特定应用
pipx upgrade <pkn> # 更新特定应用
pipx upgrade-all # 更新全部应用
pipx run pycowsay moooo # 直接运行某个库,不用下载
pipx run <website>.<pyn>.py

PS:你可能会说,啊,既然能直接运行库和脚本,为什么要下载呢?这是因为有的测试可能同时需要多个库,单独运行某个库完成不了

posted @ 2022-01-25 16:42  筱团  阅读(71)  评论(0编辑  收藏  举报