概要
Visual Studio Code で Python 拡張機能をインストールしたら
Linter pylint is not installed.
と出たので,指示通り pylint をインストールしようとしたら sitecustomize 絡みのエラーが出た.エラーを解消するには usercustomize.py
を自分で書いて設置すればよい.
なお,筆者の Python バージョンは下記の通り.
Python 3.8.0 (tags/v3.8.0:fa919fd, Oct 14 2019, 19:37:50) [MSC v.1916 64 bit (AMD64)] on win32
詳細
Visual Studio Code のダイアログに従って pylint をインストールしようとすると
>python -m pip install -U pylint --user
と同等のコマンドが実行される.ところが,Preparing wheel metadata ...
のところで次のようなエラーを吐いた.
ERROR: Command errored out with exit status 1:
command: 'C:\Users\ユーザー名\AppData\Local\Programs\Python\Python38\python.exe' 'C:\Users\ユーザー名\AppData\Local\Programs\Python\Python38\lib\site-packages\pip\_vendor\pep517\_in_process.py' prepare_metadata_for_build_wheel 'C:\Temp\tmpv4cd53yk'
cwd: C:\Temp\pip-install-6tndi160\lazy-object-proxy
Complete output (12 lines):
running dist_info
creating C:\Temp\pip-modern-metadata-pfp85tml\lazy_object_proxy.egg-info
writing C:\Temp\pip-modern-metadata-pfp85tml\lazy_object_proxy.egg-info\PKG-INFO
writing top-level names to C:\Temp\pip-modern-metadata-pfp85tml\lazy_object_proxy.egg-info\top_level.txt
writing manifest file 'C:\Temp\pip-modern-metadata-pfp85tml\lazy_object_proxy.egg-info\SOURCES.txt'
reading manifest file 'C:\Temp\pip-modern-metadata-pfp85tml\lazy_object_proxy.egg-info\SOURCES.txt'
writing manifest file 'C:\Temp\pip-modern-metadata-pfp85tml\lazy_object_proxy.egg-info\SOURCES.txt'
creating 'C:\Temp\pip-modern-metadata-pfp85tml\lazy_object_proxy.dist-info'
Error in sitecustomize; set PYTHONVERBOSE for traceback:
SyntaxError: (unicode error) 'utf-8' codec can't decode byte 0xe0 in position 0: unexpected end of data (sitecustomize.py, line 7)
error: invalid command 'bdist_wheel'
エラーメッセージを見ると sitecustomize.py
に問題がありそうなのだが,このファイルが存在するはずの C:\Users\ユーザー名\AppData\Local\Programs\Python\Python38\Lib\site-packages
にファイルそのものが存在しなかった.
色々調べた結果
の通りに usercustomize.py
を作成し,先ほどの C:\Users\ユーザー名\AppData\Local\Programs\Python\Python38\Lib\site-packages
に設置したら,無事 pylint のインストールができた.