On 2014-04-17 20:24, Kyle Terrien wrote:
Hello fellow Archers,
I received the following error while upgrading system-config-printer:
error: failed to commit transaction (conflicting files) system-config-printer: /usr/share/system-config-printer/debug.pyc exists in filesystem Errors occurred, no packages were upgraded.
Apparently, at some point python automatically compiled debug.py into debug.pyc to increase long term performance. However, the new package has debug.pyc presupplied.
The solution was to delete debug.pyc, then everything installs cleanly and works fine.
Of course, this begs the question: Should a compiled python module be supplied in a package (debug.pyc), or should the local machine interpret/compile/do whatever it wants with a python script (debug.py)?
- --Kyle
Yes, they should be included in the package. 1. The user running these scripts usually doesn't have write access to the dir they're in, so more often than not, the .pyc files don't get saved. This makes the load times for the script longer. 2. If it is run as root, a file gets created that pacman knows nothing about. It will leave crap behind when upgrading or removing.