A mistake which almost went me mad

Chris Angelico rosuav at gmail.com
Thu Mar 3 05:31:35 EST 2016


On Thu, Mar 3, 2016 at 9:21 PM, ast <nomail at invalid.com> wrote:
> - python -m pip list doesnt work, crash with an error message related to
> pickle

At this point, you could have come to this list, asking for help - and
posting the *entire* traceback. It may have mentioned a file name,
which would give a strong clue; otherwise, there'd be an error like
this:

rosuav at sikorsky:~/tmp$ echo 'print("Hello, world!")' >pickle.py
rosuav at sikorsky:~/tmp$ python3 -m pip list
Hello, world!
Traceback (most recent call last):
  File "/usr/local/lib/python3.6/runpy.py", line 174, in _run_module_as_main
    mod_name, mod_spec, code = _get_module_details(mod_name, _Error)
  File "/usr/local/lib/python3.6/runpy.py", line 133, in _get_module_details
    return _get_module_details(pkg_main_name, error)
  File "/usr/local/lib/python3.6/runpy.py", line 109, in _get_module_details
    __import__(pkg_name)
  File "/usr/local/lib/python3.6/site-packages/pip/__init__.py", line
15, in <module>
    from pip.vcs import git, mercurial, subversion, bazaar  # noqa
  File "/usr/local/lib/python3.6/site-packages/pip/vcs/subversion.py",
line 9, in <module>
    from pip.index import Link
  File "/usr/local/lib/python3.6/site-packages/pip/index.py", line 29,
in <module>
    from pip.wheel import Wheel, wheel_ext
  File "/usr/local/lib/python3.6/site-packages/pip/wheel.py", line 6,
in <module>
    import compileall
  File "/usr/local/lib/python3.6/compileall.py", line 20, in <module>
    from concurrent.futures import ProcessPoolExecutor
  File "/usr/local/lib/python3.6/concurrent/futures/__init__.py", line
17, in <module>
    from concurrent.futures.process import ProcessPoolExecutor
  File "/usr/local/lib/python3.6/concurrent/futures/process.py", line
55, in <module>
    from multiprocessing.connection import wait
  File "/usr/local/lib/python3.6/multiprocessing/connection.py", line
23, in <module>
    from . import reduction
  File "/usr/local/lib/python3.6/multiprocessing/reduction.py", line
32, in <module>
    class ForkingPickler(pickle.Pickler):
AttributeError: module 'pickle' has no attribute 'Pickler'

And someone would have suggested changing to another directory, or
running something like this:

rosuav at sikorsky:~/tmp$ python3 -c 'import pickle; print(pickle.__file__)'
Hello, world!
/home/rosuav/tmp/pickle.py

which shows up the issue.

Don't get mad - get even! Or even better, get help! But show us the
entire exception traceback, not just "got an exception".

ChrisA



More information about the Python-list mailing list