Python pkg_resources.VersionConflict
When using setuptools entry_points
or scripts
like
scripts
entry_points: console_scripts
you may get errors like
pkg_resources.VersionConflict: (mypkg 1.1.2 (~/mypkg), Requirement.parse(‘mypkg==1.1.0’))
This can come from when you’ve used one or the other of scripts
or entry_points:console_scripts
, and still have the old script in your Python bin
directory.
For Anaconda Python, the scripts
and console_scripts
are in a directory like ~/miniconda3/bin
.
In general, check in the directory coming from:
python -c "import sys; print(sys.executable)"
After finding the old scripts, delete them (be sure they’re your old scripts, not something else you might need).
Example fix
Suppose “setup.cfg” for package “mypkg” previously contained:
[options]
scripts =
myprog.py
and now the project is moving to the more robust entry_points technique like
[options.entry_points]
console_scripts =
myprog = mypkg.__main__:cli
Fix by deleting ~/miniconda3/bin/myprog.py
.
Related: Minimal setup.py + setup.cfg with console_scripts entry_points