pip冻结会创建一些奇怪的路径,而不是软件包版本

时间:2020-07-13 23:36:58

标签: python path pip requirements.txt

我正在开发python软件包。我使用pip freeze > requirements.txt将所需的程序包添加到require.txt文件中。但是,我意识到某些软件包而不是软件包版本在它们前面都有一些路径。

numpy==1.19.0
packaging==20.4
pandas @ file:///opt/concourse/worker/volumes/live/38d1301c-8fa9-4d2f-662e-34dddf33b183/volume/pandas_1592841668171/work
pandocfilters==1.4.2

在环境中,我得到:

>>> pandas.__version__
'1.0.5'

您知道如何解决此问题吗?

1 个答案:

答案 0 :(得分:13)

这似乎是pip freeze版本20.1中的一个未解决问题,当前的解决方法是使用:

pip list --format=freeze > requirements.txt

简而言之,这是由于将pip freeze的行为更改为包括从直接URL引用安装的发行版的direct references而引起的。

您可以在GitHub上了解有关该问题的更多信息:

pip freeze does not show version for in-place installs

Output of "pip freeze" and "pip list --format=freeze" differ for packages installed via Direct URLs

Better freeze of distributions installed from direct URL references