Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python打包和GitHub的规范工作流_Python_Git_Packaging_Pypi - Fatal编程技术网

python打包和GitHub的规范工作流

python打包和GitHub的规范工作流,python,git,packaging,pypi,Python,Git,Packaging,Pypi,我正在做一个我发布给PyPi的个人项目。既然我已经用pip安装了它,而不是从git回购中使用它,那么继续开发的最佳实践是什么 到目前为止,我已经尝试了两种方法: naivete:编辑站点包文件夹中的脚本,测试它们,一旦完成,复制到repo和push(以及构建、发布等) doppelganger:创建(稀疏)repo以跟踪站点包中的脚本,随时推送。准备好发布后,转到包含完整repo的文件夹,拉动,然后构建>发布 现在,1。太笨重了,而2。让我完全不满意。我曾考虑使用bash技巧简化2,但我认为这里

我正在做一个我发布给PyPi的个人项目。既然我已经用pip安装了它,而不是从git回购中使用它,那么继续开发的最佳实践是什么

到目前为止,我已经尝试了两种方法:

  • naivete:编辑
    站点包
    文件夹中的脚本,测试它们,一旦完成,复制到repo和push(以及构建、发布等)
  • doppelganger:创建(稀疏)repo以跟踪
    站点包中的脚本
    ,随时推送。准备好发布后,转到包含完整repo的文件夹,拉动,然后构建>发布
  • 现在,1。太笨重了,而2。让我完全不满意。我曾考虑使用bash技巧简化2,但我认为这里的圣人可能有更精简的东西,所以我问


    谢谢大家!

    对于开发,您仍然希望从git存储库获取和编辑源代码,而不是从
    PyPi

    例如,如果您的git存储库位于
    ../src/myproject/
    下,我将在
    myproject
    内部运行
    pip install.
    。这模拟安装的方式与从PyPi下载的
    pip install myproject=={version}
    完全相同。(将代码复制到
    网站包中

    更适合开发的是
    pip install-e.
    ,它设置了一个从
    站点软件包回到源目录的符号链接。因此,虽然看起来您的项目已安装在venv中,但实际上它只是使用了
    git
    repo文件夹中的源代码

    通常,PyPi的下载是为脚本用户而不是贡献者提供的


    如果您想让我详细介绍这些内容,请在评论中告诉我。

    效果很好,但是,您能建议阅读一下吗?我很好奇它多久更新一次,到底是怎么做到的。pip是否在每次需要导入时检查更新??非常感谢。again@codesPliff这可能是一个相当不错的指南集——该死的,我只找到了一页的官方文档,但那一页,哇,我只是在想如何在github上自动构建,多亏了这一资源,现在已经完成了。干杯