在pip freeze中的文件引用
在pip freeze中的文件引用
我正在开发一个Python包。我使用pip freeze > requirements.txt
将所需的包添加到requirement.txt文件中。然而,我注意到一些包的版本前面有一些路径,而不是包的版本号。\n
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
\n然而,在环境中,我得到的是:\n
>>> pandas.__version__ '1.0.5'
\n你有任何解决这个问题的想法吗?
在pip freeze的版本20.1中,出现了一个名为"File references in pip freeze"的问题。这个问题的表现是,pip freeze在列出已安装包及其版本时,会包含直接URL引用的分发包的直接引用。这个问题在GitHub上有对应的讨论和解决方案。
根据GitHub上的讨论,目前的解决方法是使用以下命令替代pip freeze:
'''
pip list --format=freeze > requirements.txt
'''
以下是相关的GitHub链接:
1. pip freeze does not show version for in-place installs
链接:https://github.com/pypa/pip/issues/8174
2. Output of "pip freeze" and "pip list --format=freeze" differ for packages installed via Direct URLs
链接:https://github.com/pypa/pip/issues/8176
3. Better freeze of distributions installed from direct URL references
链接:https://github.com/pypa/pip/pull/7612
根据GitHub上的信息,这个问题似乎仍然存在,并且在两年之后仍然具有相关性。感谢您的贴文和关注。