python - pipenv 使用概览

发布时间:2019-09-16 07:34:33编辑:auto阅读(1708)


    欢迎访问我的blog:http://www.qnloft.com/blog

    pipenv 是 python的 包 / 虚拟环境管理工具。有点类似Java中maven。
    GitHub地址:https://github.com/pypa/pipenv
    文档地址:https://docs.pipenv.org

    pipenv使用场景

    一般的我们使用pip安装python,但是pip有一些局限性,比如下面的场景

    场景一:
    项目A和项目B,同时使用一个包,但是项目A需要使用包的1.0版本,项目B需要使用包的2.0版本

    场景二:
    项目A在开发阶段需要使用到单元测试模块,所以用到一些做测试的包,但是项目上线不需要这些包。

    pipenv就很好的解决了上述场景中包的管理。

    pipenv安装

    安装说明文档中的说明进行安装:

    • 使用pip安装pipenv

    pip install --user pipenv
    • pipenv环境变量的设置

    首先我们需要确定系统中安装的python的位置,如果系统同时装了python2和python3,运行如下命令,否则运行python -m site即可

    python3 -m site

    找到USER_BASE后边的地址,将这个地址配置到环境变量中,因为我的是mac系统,所以运行如下命令:

    vi ~/.bash_profile
    
    # 加入如下内容
    PYTHON3_HOME=USER_BASE的路径
    PATH=$PYTHON3_HOME/bin:$PATH
    export PATH
    
    # 配置完成后执行
    source ~/.bash_profile

    pipenv使用

    首先我们需要建立一个项目文件夹,就是项目A的文件夹,我这里假设项目名称是pipenv_project

    mkdir pipenv_project
    cd pipenv_project
    • 初始化语言环境,以下命令视自身情况选择

    如果执行pipenv出现not find command则检查自己的环境变量是否配置正确,也有可能是没有执行source命令

    # 初始化一个 python3 的环境
    pipenv --three
    
    # 初始化一个 python2 的环境(不过都已经 2018 年了,你还要用 2 吗)
    pipenv --two
    
    #初始化特定版本的环境
    pipenv --python 3.6
    
    # pypy 也是可以的
    pipenv --python pypy3
    • 初始化项目环境

    pipenv install
    • 进入编辑环境

    pipenv shell

    如果要退出sell环境,输入exit即可

    • 安装 / 更新 / 卸载依赖

    # 安装requests依赖
    pipenv install requests
    # 卸载requests依赖
    pipenv uninstall requests
    # 安装指定版本的包,安装时加--dev表示加入到 dev 环境
    pipenv install parsel==1.3.1
    # 更新指定个包
    pipenv update requests
    # 更新所有的包
    pipenv update

    依赖安装成功入下图,如果出现

    有时候,安装会出现:The read operation timed out错误,是网络问题,造成安装超时了,那就需要多执行几遍命令。

    • 查看项目中安装的依赖

    pipenv graph
    • 锁定版本

    pipenv lock
    • 运行.py文件

    vi demo.py
    
    # 加入如下内容
    import requests
    
    response = requests.get('https://httpbin.org/ip')
    
    print('Your IP is {0}'.format(response.json()['origin']))
    
    
    # 运行demo.py
    pipenv run python3 demo.py
    • 环境变量管理

    如果你开发调试时需要配一堆环境变量,可以写到.env文件中,在pipenv shell进入虚拟环境时,它会帮你把这些环境变量加载好,非常方便。

    例如写一个.env文件

    echo "FOO=23333" > .env

    之后pipenv shell进入虚拟环境,echo $FOO就能看环境变量的值23333已经设置好了。

    其他

    我的mac os的虚拟项目目录在:

    /Users/用户/.local/share/virtualenvs

    在这个文件夹下回找到一个以项目命名的文件夹,里面就是我们安装的依赖了。

关键字