投稿

1月, 2018の投稿を表示しています

VS Codeでvenvがうまく動作しなくなった話

結論 venvをあきらめて、Pipenvを導入すればなぜか解決した。 経緯 Pythonの開発環境にVS Codeを使っていましたが、ある日突然、venvで作った環境が見えなくなりました。 PowerShellからは切り替えができるので、venv自体は正しく動いているようでした。 PythonとVS Codeをクリーンインストールしても状況は変わりませんでした[1]。 Pipenvの使い方 最近はPipenvというものがあるらしいので、それを導入することとしました[2][3]。 pip install pipenv 以下のように環境変数を設定することで、プロジェクトのフォルダ直下に仮想環境を構築してくれます。 PIPENV_VENV_IN_PROJECT=true VS Code上にフォルダを作成し、その直下で仮想環境を作成します。 コマンドはVS Code上のPowerShellで行いました。 例えば以下のようになります。パスやPythonのバージョンはご自身の環境に合わせてください。 *pythonの後に半角スペースがあるのでうっかり詰めないでください。 *venvファイルが作成されるという情報もありますが、私の場合はPipfileのみ作られました。 PS PS C:\Users\User Name\Documents\CODE\Python\Test> pipenv install --python 3.8 VS Code上でF1キーを押して、「reload」を検索して実行します。 これで左下のPythonのバージョンセレクトから環境選択できるはずです。 仮想環境から抜けるときは以下のコマンドを使います。 deactivate 参考文献 [1] sota0726 「VScodeを完全にアンインストールする方法(windows10)「拡張機能のホストが予期せずに終了しました。」を改善するために」閲覧日:2020/09/13 https://www.atmarkit.co.jp/ait/articles/1810/12/news026.html [2] KRiver1 「pyenv、pyenv-virtualenv、venv、Anaconda、Pipenv。私はPipenvを使う。」閲覧日:2020/09/13 h

Pythonではじめる機械学習を読んで その1

イメージ
最近、AIという言葉をどこでも耳にします。 私は、ここでいうAIは機械学習のことだと認識しています。 以前にも機械学習は勉強したことがあるのですが、すっかり忘れてしまったので再度学習してみようと思い立ちました。 色々情報を集めていると以下の本がなかなかよさそうです。 今は機械学習といえばPythonが流行りのようです。 Pythonではじめる機械学習 ―scikit-learnで学ぶ特徴量エンジニアリングと機械学習の基礎 私が購入したのは2017年11月6日発行の初版第3刷のモノです。 本通りにやって詰まった部分がちょこちょこありましたので、メモ代わりにブログに残しておきます。 同じように悩める方がスムーズに学習できることを期待しております。 それでは今回は1章 はじめについてです。 以下の章番号はPythonではじめる機械学習に準じています。 なお、私の環境はWindows10 Pro 64bitです。 1章 はじめに 1.3.1 scikit-learnのインストール 3つのやり方が示されていましたが、私は一番無難そうだったAnacondaでインストールしていました。 下記サイトにアクセスして各プラットフォームにあったインストーラをダウンロードしてください。 私が入手したのはAnaconda 5.0.1 For Windows InstallerのPython 3.6 version 64bitです。 https://www.anaconda.com/download/ 後述しますが、書籍では別途mglearnを入手するよう指示しています。 1.4.1 Jupyter Notebook Jupyter NotebookはWindowsのスタートメニューから起動します。 起動するとブラウザ上に下記のような画面が表示されます。 ①のNewをクリックしてPython3を選択します。 下記の画面が表示されます。 ②のセル内にコードを入力します。  Ctrl+Enterを押すと選択したセル内のコードが実行され、その結果が表示されます。 Shift+Enterで新しいセルを追加できます。 ③のテクストボックスに名前を入力し、④のボタンで保存できます。 保存すればまたいつでも途中から作

Python版OpenCVで平滑化を行う

イメージ
今回は,Python版のOpenCVを使って取得した画像の平滑化を行う方法をメモしておきます. 環境は以下のとおりです. Python 2.6 OpenCV 2.4.6 それでは早速スクリプトを見ていきます. import cv2 if __name__=="__main__": capture = cv2.VideoCapture(0) if capture.isOpened() is False: raise("IO Error") cv2.namedWindow("Capture", cv2.WINDOW_AUTOSIZE) cv2.namedWindow("Red", cv2.WINDOW_AUTOSIZE) while True: ret, image = capture.read() if ret == False: continue gaussian_image = cv2.GaussianBlur(image, (5, 5), 0) red_image = [] red_image.append(extract_color(image, 170, 5, 50, 200)) red_image.append(extract_color(gaussian_image, 170, 5, 50, 200)) gaussian_result = cv2.hconcat([image, gaussian_image]) red_result = cv2.hconcat(red_image) cv2.imshow("Capture", gaussian_result) cv2.imshow("Red", red_result) if cv2.waitKey(33) >= 0: