pkg-static: Plist error, directory listed as a file: <something>.egg-info
Kubilay Kocak
koobs.freebsd at gmail.com
Sat Apr 12 14:39:51 UTC 2014
Over the past week, a number of users have reported the following error
when upgrading Python ports:
"pkg-static: Plist error, directory listed as a file:<something>.egg-info"
This has been isolated as a symptom of:
a) A recent pkg version (1.2.7_1) which now generates an error
instead of silently creating a corrupt package
b) Python installations that contain *multiple* python packages that
provide the setuptools module (such as setuptools and distribute).
This (b) can either be the result of a manual install as root (via
easy_install or pip) outside of the scope of ports/packages, or due to
leftovers from previous upgrades.
The root cause is a version of setuptools is imported during the python
setup.py `install` stage, that does not contain a patch which removes
directory entries from --record output (a feature of setuptools).
Users should inspect their ${LOCALBASE}/lib/pythonX.Y/site-packages
directory, and remove any packages that reference old versions of
setuptools or distribute.
Some examples of entries that may be removed are:
1) distribute-0.6.35-py2.7.egg
2) setuptools-0.6c11-py2.7.egg
3) *Any* version of setuptools directly from PyPi via pip or easy_install
If you have any questions, or are unsure whether you can remove a
particular entry or not, either:
- Delete it, then reinstall devel/py-setuptoolsXY for good measure, OR
- Check with us on the mailing list or at #freebsd-python on freenode IRC
TLDR:
You want to be left with the version of setuptools from ports/packages
(currently 2.0.1) as the *only* installed Python package in site-packages/.
More information about the freebsd-python
mailing list