[英]why pip freeze returns some "gibberish" instead of package==VERSION?
这是我所做的:
❯ pip freeze
aiohttp @ file:///Users/aiven/Library/Caches/pypoetry/artifacts/50/32/0b/b64b02b6cefa4c089d84ab9edf6f0d960ca26cfbe57fe0e693a00912da/aiohttp-3.6.2-py3-none-any.whl
async-timeout @ file:///Users/aiven/Library/Caches/pypoetry/artifacts/0d/5d/3e/630122e534c1b25e36c3142597c4b0b2e9d3f2e0a9cea9f10ac219f9a7/async_timeout-3.0.1-py3-none-any.whl
attrs @ file:///Users/aiven/Library/Caches/pypoetry/artifacts/7f/e7/44/32ca3c400bb4d8a2f1a91d1d3f22bbaee2f4727a037aad898fbf5d36ce/attrs-20.2.0-py2.py3-none-any.whl
chardet @ file:///Users/aiven/Library/Caches/pypoetry/artifacts/c2/02/35/0d93b80c730b360c5e3d9bdc1b8d1929dbd784ffa8e3db025c14c045e4/chardet-3.0.4-py2.py3-none-any.whl
...
点子版本:
❯ pip -V
pip 20.2.3 from /Users/aiven/projects/foobar/venv/lib/python3.8/site-packages/pip (python 3.8)
我期待这样的事情:
> pip freeze
foo==1.1.1
bar==0.2.1
pip freeze -h
不是很有帮助...
对于上下文:我使用poetry
将软件包安装到 virtualenv 中。
这似乎来自支持PEP 610的更改。 请特别参阅冻结环境部分。 “冻结”的概念已经扩展到包括为使用直接源安装的软件包保留直接 url 源。
Poetry 1.1.0
引入了一个新的安装程序,现在可以处理依赖项的工件的发现和下载。 这与1.0.10
中的行为不同,后者只是让pip
处理发现和下载所需工件(轮子)。 这意味着,现在包是使用直接 URL 源安装的。 这会导致pip freeze
使用PEP 508 中指定的直接引用格式(例如: package @ file://../package.whl
)。 对于那些感兴趣的人,有问题的 url 将保存在虚拟环境的站点目录中的<package>-<version>.dist-info/direct_url.json
中。
您可以使用以下命令获取旧格式输出(不确定将来是否会更改)。
pip --disable-pip-version-check list --format=freeze
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.