Python
Ubuntu
PEP8
PyMieScatt

autopep8 > error > The 'pep8>=1.4.5' distribution was not found and is required by autopep8 > autopep8のバグ?

動作環境
GeForce GTX 1070 (8GB)
ASRock Z170M Pro4S [Intel Z170chipset]
Ubuntu 16.04 LTS desktop amd64
TensorFlow v1.2.1
cuDNN v5.1 for Linux
CUDA v8.0
Python 3.5.2
IPython 6.0.0 -- An enhanced Interactive Python.
gcc (Ubuntu 5.4.0-6ubuntu1~16.04.4) 5.4.0 20160609
GNU bash, version 4.3.48(1)-release (x86_64-pc-linux-gnu)
scipy v0.19.1
geopandas v0.3.0
MATLAB R2017b (Home Edition)
ADDA v.1.3b6
gnustep-gui-runtime v0.24.0-3.1

読んでいるPythonコードがPEP8に準拠していないので、読みにくい。

autopep8を実行しようとしたら、以下のエラーになった。

$ autopep8 Mie.py 
Traceback (most recent call last):
  File "/usr/bin/autopep8", line 5, in <module>
    from pkg_resources import load_entry_point
  File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 2927, in <module>
    @_call_aside
  File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 2913, in _call_aside
    f(*args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 2940, in _initialize_master_working_set
    working_set = WorkingSet._build_master()
  File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 635, in _build_master
    ws.require(__requires__)
  File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 943, in require
    needed = self.resolve(parse_requirements(requirements))
  File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 829, in resolve
    raise DistributionNotFound(req, requirers)
pkg_resources.DistributionNotFound: The 'pep8>=1.4.5' distribution was not found and is required by autopep8

pep8のバージョンが古いかというと古くない。

$ dpkg -l | grep pep8
ii  pep8                                       1.7.0-2                                      all          Python PEP 8 code style checker
ii  python-autopep8                            0.9.1-2                                      all          tool that automatically formats Python code to conform to PEP 8
ii  python3-pep8                               1.7.0-2                                      all          Python PEP 8 code style checker - python3

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=817860

autopep8自体のバグかもしれない。

autopep8をアップデートしようとしたが、最新版とのこと。

Ubuntu 16.04 LTSでエラー

Ubuntu 14.04 LTSで実行時にはautopep8は使えていたようだ。
https://qiita.com/7of9/items/5085d0f3b0e889ce91fd

Ubuntu 16.04 LTSにインストールし直してから何か変わってしまったのかもしれない。

最新版はv1.3.4がGitHubにある。
https://github.com/hhatto/autopep8/releases