我正在开发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'
您知道如何解决此问题吗?
答案 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