投稿

4月, 2012の投稿を表示しています

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

KitMill RD300を使ってみる -運用準備編その1

イメージ
 こんばんは。結局前回から1ヶ月開いてしまいました。 この1ヶ月中間発表など色々あり、なかなかまとまった時間が取れませんでした。 新入生も入ってきたので、これからはもっと頑張らないといけませんね。  それでは運用準備編です。 前回で組み上げましたが、このままでは使いづらいので使いやすくしていきます。 今回改善する点は2つです。 1)シャンク系が固定されているので、様々な刃物を使いにくい。 2)加工テーブルが高価でドリリングなどを行いにくい。 それでは順に解決していきます。 1)シャンクはスピンドルシャフトのユニットで決まってしまうため、基本的に変更はできません。 シャンク径6 [mm]のユニットを使っていますが、ストレートドリルΦ6しかつかめず、エンドミルの種類も限られます。 そこで、下図に示すように、シャンクを変換するパーツを製作します。 赤いパーツが制作する、シャンク変換器です。 HAKUの頃 から毎回製作しています。 今回制作したのは以下の5種類です。  Φ4とΦ3はエンドミルによく使う径なので、負荷に負けないようステンレスで制作し位置決め用のフランジも立てています。  ドリル用にはΦ1.6、Φ2、Φ2.5を用意しました。材料にアルミを用いて、フランジも省略しています。 穴の径は、私がロボット製作時によく使うドリル径となっています。 ��Φ1.6は2 [mm]、Φ2.5は3 [mm]のタップ下穴用。また3 [mm]を超えた穴はエンドミルにて加工します。) これらのシャンク変換器は卓上旋盤と、卓上汎用フライス盤を用いて加工しています。 真円になるように旋盤加工の際は、精度に気をつけています。 これで様々なドリルやエンドミルをつけることができます。 製作方法ですが、適当な金属棒をシャンク径まで削り込み、止めねじ用にΦ3.2の穴を開ければ完成です。 フランジはあってもなくても若干装着しにくいだけで、実用上は大して変わらないと思います。 2)次は加工テーブルです。 板の切り抜き加工をするときには、Z軸方向に板厚+α [mm]加工を行い切り抜きます。 これはテーブルの傾きや、加工時の負荷による材料の逃げなどを考慮しているからです。 さらにドリリングの際には、少し深めに開けないと錐状の形状であるため、穴が開ききりません。 つまり加工テーブルには常に傷がつくということになり