暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

pipenv Workflow

生有可恋 2022-10-02
688

pipenv 是Python的一个模块,同时它也支持独立运行。它应用的方向是对项目的包管理,它是对 pip 和 virtualenv 的包装,让我们在项目目录中使用 pipenv 代替 pip 安装依赖包。

当我们创建了一个项目目录后,我们可以使用 pipenv 创建一个 virtualenv 隔离的Python环境。

pipenv 的所有操作都是在项目目录中完成的,项目目录中不会存python的包,依赖的python包会安装在 home 目录下的 .virtualenvs 目录中。下面是pipenv 项目初始化的过程:

    $ cd pyst
    $ pipenv install


    如果系统中安装的Python环境,pipenv 会使用默认Python版本创建 virtrualenv 环境,并在项目目录中创建两个文件 Pipfile、Pipfile.lock。这两个文件是 pipenv 用来识别项目目录与 virtualenv 目录的绑定关系。

    如果需要安装其它版本的Python,在 pipenv install 时指定版本即可,可以只指定大版本,也可以精确到版本x.x.x

      pipenv install 3
      pipenv install 3.10
      pipenv install 3.10.4

      创建完 pipenv 环境即可使用 pipenv shell 激活 virtualenv,退出 virtualenv 直接执行 exit。如果想销毁当前的 virtualenv 环境,可以执行 pipenv --rm

        pipenv --rm

        当执行 pipenv --rm 时并不会删除 Pipfile、Pipfile.lock 文件,这些文件可以随着项目目录一起发布,在另一台主机上重新安装依赖。当前我们并没有创建任何依赖,当我们的项目需要安装某个包时,我们可以使用 pipenv install 代替 pip install 安装,此时的包会安装到 virtualenv 环境下,并且会同步更新 Pipfile.lock 文件。

          pipenv install flask
          pipenv graph


          使用 pipenv install 安装完具体的包,可以使用 pipenv graph 查看当前的包的依赖。

          当我们的项目目录中包含 Pipfile、Pipfile.lock 文件时,我们可以在另一台电脑上直接在项目目录中执行 pipenv install --dev 来还原python运行环境和包的依赖:

            pipenv --rm
            pipenv install --dev


            我们在本机可以使用 pipenv --rm 模拟干净的项目环境,当使用 pipenv install --dev 时所有的项目依赖都安装好了。如果需要使用 virtualenv 环境的 python 解析器或 pip 可以执行 pipenv shell。在实际项目中所有操作都可以在 pipenv 中完成而不需要单独调用 pip 安装具体的包。

            参考:

            • https://pipenv.pypa.io/en/latest/basics/#example-pipenv-workflow


            全文完。

            如果转发本文,文末务必注明:“转自微信公众号:生有可恋”。

                   
            文章转载自生有可恋,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

            评论