美文网首页
Linux下安装Pipenv

Linux下安装Pipenv

作者: luo3300612 | 来源:发表于2018-12-03 14:55 被阅读0次

    Linux下安装Pipenv

    前言

    因为manjaro自带了python,而且在滚动更新的优势下,python版本是最新的,没必要再装anacondaminiconda,我只需要一个包管理器,因此感觉不必使用这种二次发行版。

    Pipenv简介

    pipenv是python的包管理器,据说是requests的作者开发的?它结合了pip和virtualenv两个命令,有以下几个特点

    • 不需要再分别使用pipvirtualenv

    • 无需手动维护requirements.txt,依赖列表可以通过Pipfile自动维护

    安装pip

    
    curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
    
    python get-pip.py
    
    

    注意,此时pip的模块安装在/usr目录下,如果要使用pip安装模块,需要通过--user为用户安装

    安装pipenv

    
    pip install --user pipenv
    
    

    这安装在了用户的$HOME/.local/bin目录下,需要自行将该目录添加到PATH中

    打开.bashrc,添加

    
    export PATH="家目录/.local/bin:$PATH"
    
    

    pipenv的更新

    
    pip install --user --upgrade pipenv
    
    

    使用pipenv

    初始化虚拟环境

    
    pipenv --three # python3
    
    pipenv --two # python2
    
    

    这会在当前目录下创建一个Pipfile文件,自动记录所有安装的和卸载的模块

    进入虚拟环境,

    
    pipenv shell
    
    

    注意,直接使用这个命令可以自动初始化虚拟环境

    退出虚拟环境

    
    exit
    
    

    修改源

    
    vim Pipfile
    
    

    将[source]下的url那栏修改为清华镜像源

    
    url = "https://pypi.tuna.tsinghua.edu.cn/simple"
    
    

    目前好像没有设置默认源的方法,可能每个虚拟环境都要自行设置源,给一个稍微方便的方法,因为在Pipfile同目录下,可以使用

    
    sed -i 's/pypi.org/pypi.tuna.tsinghua.edu.cn/g' Pipfile
    
    

    来更改url

    所以我就在.zshrc(或你的.bashrc)中加了一行

    
    alias tsinghua="sed -i 's/pypi.org/pypi.tuna.tsinghua.edu.cn/g' Pipfile"
    
    

    这样在创建完虚拟环境之后,直接输入

    
    tsinghua
    
    

    就可以自行修改源了

    与pip的交互

    安装requirements.txt的模块并记录到Pipfile

    
    pipenv install -r requirements.txt
    
    

    生成可供pip使用的requirements.txt

    
    pipenv run pip freeze >> requirements.txt
    
    

    安装模块

    
    pipenv install # 比如 pipenv install numpy==1.15.4
    
    

    安装项目的所有依赖

    
    pipenv install --dev
    
    

    根据Pipfile安装项目的依赖

    卸载模块

    
    pipenv uninstall
    
    pipenv uninstall --all # 卸载所有模块
    
    

    查看一些位置

    
    pipenv --where # 项目位置
    
    pipenv --venv # 虚拟环境位置
    
    pipenv --py # 解释器位置
    
    

    移除虚拟环境

    
    pipenv -rm
    
    

    查看目前安装的依赖

    
    pipenv graph
    
    

    关于pipenv lock命令

    pipenv lock生成了一个Pipfile.lock,其中记录了模块的版本,默认情况下在Pipfile中并没有模块的版本(除非你使用pipenv install numpy==1.15.4这样的命令来安装)

    如果新的版本的模块使得我们代码中功能无法使用的话,我们可以通过Pipfile.lock安装模块,这样固定了我们最初搭建虚拟环境时使用的模块版本,使用Pipfile.lock进行安装的命令

    
    pipenv sync
    
    

    不过带上Pipfile.lock的时候,安装模块会自动lock,过程会很慢,因此建议一切依赖部署好了之后再使用pipenv lock,em,不知道输了什么命令,好像自动会lock?那就无视这段话吧

    其他功能

    )

    插件

    进入项目目录自动激活虚拟环境,这个似乎只是针对fish shell的插件

    参考

    [1]https://github.com/pypa/pipenv/issues/954

    [2]https://github.com/rwillmer/pipenv/commit/835196dd0f0ceea1788cc36f870bf1724c6c4438

    [3]https://github.com/pypa/pipenv/

    相关文章

      网友评论

          本文标题:Linux下安装Pipenv

          本文链接:https://www.haomeiwen.com/subject/brpycqtx.html