问题
I am working on developing a python package. I use pip freeze > requirements.txt
to add the required package into the requirement.txt file. However, I realized that some of the packages, instead of the package version, have some path in front of them.
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
Whereas, inside the environment, I get:
>>> pandas.__version__
'1.0.5'
Do you have any idea how to address this problem?
回答1:
It looks like this is an open issue with pip freeze
in version 20.1
, the current workaround is to use:
pip list --format=freeze > requirements.txt
In a nutshell, this is caused by changing the behavior of pip freeze
to include direct references for distributions installed from direct URL references.
You can read more about the issue on 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
来源:https://stackoverflow.com/questions/62885911/pip-freeze-creates-some-weird-path-instead-of-the-package-version