使用pipenv从pipfile生成需求[-dev].txt

pipenv-to-requirements的Python项目详细描述


https://travis-ci.org/gsemet/pipenv-to-requirements.svg?branch=masterPypi packageMIT licensed

Pipfile生成requirements[-dev].txt(使用pipenv)。 用于我的modern Python module project cookiecutter。 模板。

有理

Pipfile及其同级Pipfile.lock显然是定义明确依赖关系的高级工具 或者一个包裹。Pipfile将由包的开发人员维护,而Pipfile.lock 表示当前系统上当前安装的内容的清晰图像,确保完整 设置的可复制性。有关Pipfile format here的详细信息。大多数情况下,Pipfile.lock应该被忽略(即,不是 在你的git中进行跟踪)以获取在pypi上发布的包。

pipenv是维护Pipfile的好工具,但是 对于仍在使用的工具和服务,开发人员可能会遇到向后兼容性问题。 requirements.txt还不知道如何处理PipfilePipfile.lock

例如:

  • Read the Docs
  • Pyup(实验支持是 arriving
  • 任何使用PBR(*)的库
  • pip install(如果安装的软件包pip没有requirements.txt, 即使使用Pipfile,也不会安装其依赖项

(*):目前,我建议至少生成requirements.txt(不带版本 (冻结)对于在pypi上发布的使用pbr的库。记住PBR自动同步 requirements.txt的内容位于具有此包的setup.py的包的根目录中。 这允许自动安装包的依赖项。 如果没有此文件,您的包将由pip安装,但其依赖项将被忽略。 将来可能会增加PBR中的支持(参见 this patch)。

用法

在构建python模块的source/binary/wheel包之前,仅执行以下操作 命令:

  • 生成需求文件(即依赖关系最终按范围描述),通常 对于

    pipenv run pipenv_to_requirements
    
  • 生成冻结的需求(即,所有依赖项的版本都已冻结),通常用于 应用程序

    pipenv run pipenv_to_requirements -f
    

它将在当前 目录。

  • 也可以:

    pipenv run pipenv_to_requirements -d requirements-dev-custom.txt
    pipenv run pipenv_to_requirements -d requirements-dev-custom.txt -f
    pipenv run pipenv_to_requirements -o requirements-custom.txt
    pipenv run pipenv_to_requirements -o requirements-custom.txt -f
    pipenv run pipenv_to_requirements  -d requirements-dev-custom.txt -o requirements-custom.txt -f
    

使用生成文件的示例:

dev:
    pipenv install --dev
    pipenv run pip install -e .

dists: requirements sdist bdist wheels

requirements:
    # For a library, use:
    pipenv run pipenv_to_requirements
    # For an application, use:
    # pipenv run pipenv_to_requirements -f

sdist: requirements
    pipenv run python setup.py sdist

bdist: requirements
    pipenv run python setup.py bdist

wheels: requirements
    pipenv run python setup.py bdist_wheel

只需使用make requirements来刷新requirements.txt。

阅读文档

只需在树中提交这些文件,以便读取roc,并确保它们是同步的 你改变Pipfile的时间。别忘了让阅读文档使用requirements-dev.txt 在建立文档时。

贡献

使用

$ make dev

执行单元测试:

$ make test

代码格式化程序:

$ make style

代码样式检查:

$ make check

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何解决选择组合框项时的错误   java如何在Weblogic 10.3.5中获取事务超时的堆栈跟踪   java从父类中调用父方法   java NamedParameterJdbcTemplate jconnect十进制问题   java使用SpringWebClient通过特定的网络接口发送http请求   java检查对象是否是类和强制转换列表中的类的实例   java制作web服务,采用哪种方法?   java聊天客户端socket和服务器socket并发   java自定义键盘仅在galaxy s6上崩溃+   java Jersey/JAXRS放置、删除程序员提供的或将由程序员完成的幂等性   Java浮点值格式   java使用toString递归打印节点及其成功者   Apache Beam的WebSocket连接器(Java)?   hibernate中的java对象不会强制转换   java AWSIotException:尝试附加策略时不允许跨帐户   java如何使用JNA获取静态最终变量