首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >“-e”中如何使用“-e"?

“-e”中如何使用“-e"?
EN

Stack Overflow用户
提问于 2020-07-10 19:19:47
回答 2查看 5.1K关注 0票数 4

尝试测试可编辑安装,但我不知道如何解释结果。

我有意在egg=部分中输入了一个错误,但它仍然能够在没有任何帮助的情况下找到鸡蛋:

代码语言:javascript
复制
root@6be8ee41b6c9:/# pip3 install -e git+https://gitlab.com/jame/clientapp.git      
Could not detect requirement name for 'git+https://gitlab.com/jame/clientapp.git', please specify one with #egg=your_package_name

root@6be8ee41b6c9:/# pip3 install -e git+https://gitlab.com/jame/clientapp.git#egg=
Could not detect requirement name for 'git+https://gitlab.com/jame/clientapp.git#egg=', please specify one with #egg=your_package_name

root@6be8ee41b6c9:/# pip3 install -e git+https://gitlab.com/jame/clientapp.git#egg=e
Obtaining e from git+https://gitlab.com/jame/clientapp.git#egg=e
  Cloning https://gitlab.com/jame/clientapp.git to /src/e
  Running setup.py (path:/src/e/setup.py) egg_info for package e produced metadata for project name clientapp. Fix your #egg=e fragments.
Installing collected packages: clientapp
  Found existing installation: ClientApp 0.7
    Can't uninstall 'ClientApp'. No files were found to uninstall.
  Running setup.py develop for clientapp
Successfully installed clientapp

root@6be8ee41b6c9:/# pip3 freeze
asn1crypto==0.24.0
-e git+https://gitlab.com/jame/clientapp.git@5158712c426ce74613215e61cab8c21c7064105c#egg=ClientApp
cryptography==2.6.1
entrypoints==0.3
keyring==17.1.1
keyrings.alt==3.1.1
pycrypto==2.6.1
PyGObject==3.30.4
pyxdg==0.25
SecretStorage==2.3.1
six==1.12.0

那么,如果我能把鸡蛋的名字弄得这么糟,为什么把它保留为空白或者设置为空是一个错误呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-07-19 10:29:51

很难回答,也许在's bug tracker上提出这个问题,并从开发人员自己那里得到一个准确的答案。

我猜,如果该项目是另一个项目的依赖项,则鸡蛋名称很重要。例如,如果您希望从PyPI安装PyPI,从git安装Z,但Z是A的依赖项。

代码语言:javascript
复制
pip install 'A' 'git+https://example.local/Z.git#egg=Z'
票数 2
EN

Stack Overflow用户

发布于 2020-07-21 08:26:39

egg=是卸载从VCS存储库中安装的未打包库时使用的名称,也是依赖项解析器在搜索依赖程序包时使用的名称。

如果您不关心这两个用例,那么它们基本上可以设置为任何东西。

它通过setup.py找到了这个蛋

它没有通过setup.py找到鸡蛋,pip找到了setup.py,并将setup.py安装的蛋名设置为您指定的任何内容。当您从VCS安装时,没有程序包,因此没有配置鸡蛋名称,因此egg=配置安装时就像安装了一个带有该蛋名称的包一样。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62841000

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档