2018

pylintがcv2のメンバを見つけてくれない

・VSCode 1.29.1 ・pipenv 2018.7.1 ・opencv-python 3.4.3.18 ・pylint 2.1.1 上記の環境でpylintをかけるとcv2のメンバがいないと怒られる。 (実際はVSCode自体は関係ない。pylintコマンド直接でも同様。) https://stackoverflow.com/questions/50612169/pylint-not-recognizing-cv2-members 上記に従って、pylintに –extension-pkg-whitelist=cv2 というオプションを渡して上げれば良い。VSCode上だとpython.linting.pylintArgsというオプションで渡す。 cv2のメンバはCのモジュールで定義されているから(?)の模様である。

pipenv2018.7.1とpip18.1の組み合わせはエラーになる

不具合に遭遇したのでメモ。 現象 $ pipenv install {some_package} すると、エラー終了する。 Pipfileやパッケージのインストール自体は完了している lockfileの作成あたりでコケている模様? 原因 エラーメッセージでググると同様の事象を見つけた。 https://github.com/pypa/pipenv/issues/2871 pipenv2018.7.1とpip18.1の組み合わせがエラーを起こしている模様。 解決方法 workaroundとしてはpipを18.0にする。 ポイントとしては、pipenvの環境のほうのpipを18.0にする。 $ pipenv run pip install pip==18.0

Pythonの環境構築にpipenvを使う

pipenvというPythonの仮想環境構築ツールを使い始めました。詳細は公式を見れば良いとして分かりづらかったところのメモ書き。 Pipenv: 人間のためのPython開発ワークフロー 書いている時点のバージョンは以下 $ pipenv –versionpipenv, version 2018.7.1 インストール 繰り返しだが詳細は上記の公式サイトのドキュメントを読めば良い。macOSの場合Homebrewとpipを使う方法があるようですが、私はPythonのバージョン管理にpyenvも使っていてHomebrewの方で入れるとバージョンが変になりそうな気がしたのでpipの方でインストールしました(Homebrewで試してはいない)。 $ pip install pipenv すると、下記のようにpyenv配下にpipenvがインストールされてる模様。 $ which pipenv /Users/hkuro/.pyenv/shims/pipenv 使い方 任意のディレクトリで $ pipenv shell とすると、”カレントディレクトリの名前-{hash}”という名前のvirtualenvが~/.local/share/virtualenvs/配下に作成される。hashの部分は詳しく調べてないけど何らかのハッシュみたいなので、別の同名ディレクトリでpipenv shellしても別のvirtualenvとして作成される(そりゃそうか)。 環境変数を設定することでカレントディレクトリに作成されるようにすることが可能( PIPENV_VENV_IN_PROJECT)。これは環境によって違いそうなのでpipenv shellするときのオプションであったほうが便利そうな気もする。…