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

  • 相关阅读:
    各省最受考生青睐高职院校TOP10!2021年专科投档分数线大盘点
    Python 下载大文件,哪种方式速度更快
    Idea未识别maven项目
    Disruptor
    原型对象
    线程基础知识18 线程池
    线程基础知识16线程相关类CyclicBarrier、Semaphore、Exchanger
    ES6 01 简介
    线程基础知识17 Quene
    线程基础知识12AQS
  • 原文地址:https://www.cnblogs.com/CourserLi/p/15842844.html
Copyright © 2020-2023  润新知