加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – 用于可编辑依赖项更改的Pip egg名称

发布时间:2020-12-20 13:09:34 所属栏目:Python 来源:网络整理
导读:我有一个自定义依赖项,我在requirements.txt中使用-e标志指定: ...-e git+git@git.myproject/projectname.git@master#egg=projectname-master... 有了这个pip install -r requirements.txt工作正常. pip freeze提供以下输出: ...-e git+git@git.myproject/
我有一个自定义依赖项,我在requirements.txt中使用-e标志指定:

...
-e git+git@git.myproject/projectname.git@master#egg=projectname-master
...

有了这个pip install -r requirements.txt工作正常.

pip freeze提供以下输出:

...
-e git+git@git.myproject/projectname.git@b3d61ba97029316b5790a6d0328d59816262153d#egg=projectname-master
...

这是我期望的.

当运行pip install –upgrade -r requirements.txt后跟pip freezehowever我得到以下输出.

...
-e git+git@git.myproject/projectname.git@4c58322b1750d6c3d2bde67f8a1657a09c45dbb9#egg=projectname-origin_HEAD
...

请注意,此处的鸡蛋名称已更改.

当写pip freezeto输出一个requirements.txt文件并运行pip install -r requirements时,我得到以下错误:

Could not find a version that satisfies the requirement projectname-master (from projectname-origin-HEAD->-r requirements.txt (line 13)) (from  versions: )

如何阻止pip在升级时弄乱eggname.这是必要的,因为我希望能够通过将pip freeze的输出写入文件来锁定提交.

解决方法

对于这种包装,你不应该依赖pip冻结.它总是会尝试添加提交SHA1并有效地固定您的包.如果您希望能够更新包,则应编辑requirements.txt文件中的git URL并删除对特定提交的所有引用,仅将其指向分支名称或标记.每次对requirements.txt文件进行评估时,都会产生性能损失,因此必须检查最新版本.

例如.只需将其保留在您的requirements.txt中:

-e git git @ git.myproject / projectname.git @ master#egg = projectname

请注意,我从#egg中删除了-master:我认为将蛋命名为与项目名称不同,这不是一个好主意.当我尝试使用另一个名称,然后在包的setup.py中指定的名称,当pip install teh packages时,我得到一个类似的警告:

运行setup.py – > war :: egg_info for package projectname-master为项目名称projectname生成元数据.修复#egg = projectname-master片段.

可以在这里找到更多细节:
http://codeinthehole.com/tips/using-pip-and-requirementstxt-to-install-from-the-head-of-a-github-branch/

和这里:
https://pip.readthedocs.io/en/1.1/requirements.html

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读