pip freeze creates some weird path instead of the package version
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?
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