投稿

Python venvで、pythonのバージョンを指定したい

Python3.3以降、仮想環境のvenvが導入 されています。 以前は virtualenv を使ってましたが、もうPython2とかを開発することはないので・・・ venvを使っていこうと心に決めました(笑) で、仮想環境を作ろうと思い次のようにコマンドを入れました。 仮想環境を作る $ python -m venv project $ cd project $ . bin/activate (project) $ python -V Python 3.10.12 もちろんうまく行きますよね!現在の環境はPython3.10.12ですから、これで正解です。 そんでもって、違うプロジェクトで、 Python3.4環境が必要 となりまして、 Python3.4をインストール後以下のコマンドを叩いてみると!! Python3.4の仮想環境を作る(失敗) $ python -m venv -p python3.4 project3.4 usage: venv [-h] [--system-site-packages] [--symlinks | --copies] [--clear] [--upgrade] [--without-pip] [--prompt PROMPT] [--upgrade-deps] ENV_DIR [ENV_DIR ...] venv: error: unrecognized arguments: -p はい、エラーがでました!! ん?なんで、virtualenv時代はこれで良かったのに!! -p オプションがない なんて!! 使えないなぁ・・・virtualenvでは使えたのに・・・ なんて思った 私のほうが使えないやつ でした(笑) 年取ると頭が固くなるのだよ! よ〜く考えたら、-p オプションなんていらないのでした! だって、今は venvをモジュールから実行している のだから・・・ そう、ここでの python コマンドは python3.10.12 へのシンボリックリンクじゃん。 つまり、Python3.4環境が欲しければ、 python3.4上でモジュールを実行するだけだった のです!! 自分の頭の固さが嫌になりますな☆ Python3.4の仮想環境を作る(...

ファイルに行番号を付けて表示したい

行番号を付けてテキストを表示したいと思った! 特に意味はない。思いついただけ・・・ で調べてみると・・・ sed コマンドを使って出来るようです。 もっと調べたら、 cat コマンドに -n オプションをつければいいらしい・・・おわり。 で、これでは楽しくないので、車輪の再発明になるが、 sed コマンドを使ってやってみようと思います。 以下のファイルに行番号を付けてみる感じで・・・ 内容は気にしないことに。 test.txt [My favorite video games] * "Super Mario Bros." * "Legend of Zelda" * "Metroid" * "Castlevania" * "ASSASSIN'S CREED" * "Horizon Zero Dawn" * "Horizon Forbidden West" * "Ghost of Tsushima" * "Rise of the Ronin" * "WILD HEARTS" まずは、sed を使ってみる。    sedで行番号表示 $ cat test.txt|sed = 1 [My favorite video games] 2 * "Super Mario Bros." 3 * "Legend of Zelda" 4 * "Metroid" 5 * "Castlevania" 6 * "ASSASSIN'S CREED" 7 * "Horizon Zero Dawn" 8 * "Horizon Forbidden West" 9 * "Ghost of Tsushima" 10 * "Rise of the Ronin" 11 * "WILD HEARTS" 確かに表示できる! でも、行番号で改行されちゃう・・・ なので、sed のサブコマンド ...

調子にノって、gitを使う・・・(ブランチ名を表示したい)

今更ながら、gitですよ! 大昔にちょっと使ったんですが、一人で作って一人で遊ぶ分には、 バージョン管理いらないかなと思ってしまって・・・バカでした (笑) 結局、 OLDみたいなサフィックスがついたファイルが大量に作られていく。。。 この管理のほうが面倒になってきてしまった。 んで、やっぱり、要りますなバージョン管理・・・ というわけで、お家サーバにgitのリモートリポジトリを設定することにしました! GitHubじゃないところはご愛嬌☆ すっかり、コマンド等も忘れてしまい、この機会にうろ覚えだったgitの仕組みも勉強しようかと・・・ で、実際にシェルで作業していると、ブランチ名が表示されていると嬉しいなと・・・ まあ、世の中にはそんな人は居ることは百も承知ですが・・・ かる〜く調べてみると Ubuntuとかでgitをインストールすればbash用の__git_ps1関数も一緒に付いてくる らしいです。 でもこの関数は、ちょとリッチすぎました!書式を指定できたり、云々・・・ そんなに機能はいらないし・・・ まあ、なんだかんだで、 車輪の再発明をしようではないですか!! 勉強がてら・・・ gitのブランチ名を取得する まずは、gitのブランチ名を取得したいと思います! gitのbranchコマンドを叩けば、ブランチの一覧が表示され、カレントのブランチ名の前には'*'が付加されています。 ここを取り出したいので、ここは、sedコマンドに登場していただきます・・・ ブランチ名の取得 $ git branch --list dev * master $ git branch --list|sed -ne 's/^\*\s*\(\.*\)/\1/p' master めでたく、取り出せました! まあ、'\s'のあとの'*'は冗長かもしれませんが・・・ bashに設置する bashに設置しようしとして、初めはsedの出力をそのまま使ってみたのですが・・・ そりゃそうでしょ、という結果に・・・ .bashrc(失敗) branch=$(git branch --list | sed -ne 's/^\*\s*\(\.*\)/\1/p') PS1='\u@\h{$branch}...

Raspberry Pi Pico互換ボード - YD-RP2040

イメージ
とってもお安いRaspberry Pi Picoの互換ボードを買ったので、ここに記しておくこととする。 Aliexpressのセールで、YD-RP2040が250円で買えたよ! ラッキー! しかも、 Flashメモリが16MB版 ですぜ! 前に買ったときは、4MB版で330円でした! 今は円高だから、Raspberry Pi Picoが800円ぐらいするからな・・・ Pico互換ボードなので、ピン互換性は完全ではありません!   Pin35 : ADC_Vref ⇒ GP29   Pin37 : 3V3_EN   ⇒ GP23 と、変更されてます。 あと、 USERスイッチ が GP24 に、 WS2812 (LED)が GP23 に割り当てられていて、GPIOが余すところ無く、全て使われています。 はっきり言って、Picoより使いやすい!! それと、デバッグポートに3V3が来ているのも非常によい★ すべてのピン配列は、 Googleでどうぞ ! WS2812はPin37とGP23を共用しているので、 WS2812を使うときは WS2812の右上の R7をジャンパ しましょう。(ロットによっては表記がR7じゃなく、RGBなものもある) まあ、互換性についてはPicoを買う予定はないので、気にしな〜い・・・ しかし、『 Raspberry Pi Pico 』って名称は何とかならなかったのかね〜 Raspberry Pi がかぶってて、検索しづらいって・・・ Raspberry Pico でよかったよなぁ〜絶対に・・・ では、PlatformIOでこのボードを使っていこうと思いますが、 それはまたのお話で・・・ おしまい

導通チェッカー (ATtiny13A使用)

イメージ
テスターが重いので、導通チェックだけのためにいちいち取り出すのが面倒になった私! ならば、導通チェッカーを作ろう!と思い立ち、トランジスタで簡単なものを組もうと思ったのだが・・・ 自分で作る前に、世の中の人に聞いてみることに! 簡単なものは、防犯ブザーを改良して・・・みたいなのがあったけど・・・ 測定電圧に何ボルトかかるかも怪しいので、逆電圧をかけた場合を考えると、これはやめたほうがいいだろう・・ 高機能なものになると、回路がやたら複雑になって、作るの面倒くさいなあ・・・ と思ってたら!! 素晴らしく簡単で、マイコン使ってて高機能で便利そうなものを発見!! ChaNさんの『回路内導通チェッカ』 です!! なんと!ATtiny13と工具箱にありそうな簡単な部品だけで出来そう!! しかも、 抵抗値によって音色が変化する とか最高ですか! というわけで、作ってみた! ChaNさんの回路やプログラムは 簡潔に書かれている ので、 とても勉強になります★ ありがたや〜 作ってみると、いろいろ改造したくなるのが人情です(笑) というわけで、改造することに! ※改良ではない 改造した点 手持ちの抵抗器で何とかなるように抵抗値を変更 2色LEDを使い、電源は 青 色、導通時に 赤 色LEDが点灯 導通時の音色を変更 導通抵抗値を500Ωまでに変更 スリープを1分に変更 プローブの接触で電源ON プローブの10秒以上の接触で自動電源OFF(プローブ起動を無効化) プログラムは全面的に書き直しました。 CPUクロック を 1.2MHz としましょ。 そうすれば、ヒューズビットの書き換えは不要なのです! オリジナルはATtiny13Vですが、ATtiny13Aしか持ってなかったので、変更しました。 手持ちの抵抗器の都合で、オリジナルは 27KΩ と 5.6KΩ ですが、 22KΩ と 3.3KΩ の抵抗を使ってます。 2色(赤青)LEDが、部品箱に転がっていたので、それを使うことに。。。 たぶん、 秋月電子通商で昔買った やつだろう・・・当時は 500円もしてた みたいだ(笑) 導通時の音色を自分の使ってたテスターの音に近づけるために変更しました。 それと、オリジナルは50Ωの抵抗値で停止するようになっているのですが、そんなに細かく音色が変化しなくてもいいので、10倍の500Ωに変更しま...

AVRISP markII・USBasp ピン配置

イメージ
最近、evernoteがめっちゃ使えなくなっちまった・・・ 無料版では、端末が1台までだし・・・ WEB版のevernoteはAndroidでうまく開けないぞ!! なので、AVRライタのピン配置をここに書いておこう! ※注 USBasp  でTPI書き込みを行う場合は TPI-DATA に MISO ではなく、 MOSI を使う!!

AVR ATtiny10 ベリファイエラー

イメージ
やっちまったので、書き残しておこう! AVR ATtiny10のシグネチャが一致しない・・・ う〜ん、これは 前とおなじ かな?と思って、avrdudeのビットクロックを変更してみるが・・・ 関係ないみたい・・・ 次にAVRライタを AVR ISP markII から USBasp に変更しようとしたら、 USBaspの ファームが古くて 更新したり ・・・ 配線をつなぎ直したり・・・ いろいろやったが、だめだった・・・ しばらくして、よ〜く確認したら、書き込み用の TPIDATA(PB0)の信号線への負荷が大きく て、うまく認識しなかったようだ!! 負荷になる回路から切断したらうまく行った★ これに気づくまで、何時間も格闘してしまった・・・ 書き込まれるんだが、ベリファイエラーが出てしまう。 verification error avrdude: verifying ... avrdude: verification error, first mismatch at byte 0x0024 0x0c != 0x17 avrdude: verification error; content mismatch という問題に遭遇してしまった・・・ これも、何時間も解決できず・・・ 世の中の人に頼ることに・・・ すると!! ねこめもさんのページ に書き込みが! なんと!電流不足とな!!! いつも実験用に、サンハヤトのICトレーナーを使ってるんですが・・・ 知ってます? ICトレーナー CT-311R ・・・ もう、 売ってない みたいですが・・・うん十年前に買いました(笑) 電池BOXが壊れたのですが、交換してでも使っている お気に入り です! そういえば、もう十年ぐらい乾電池を交換してないかも・・・ で、電圧を測ってみたら・・・4本で なんと! 3.518V ですって・・・ 6V程度は無くてはならないのに・・・ そりゃあ、電流も取り出せないわな・・・ ちなみにこのテスターも sanwa の PC101という、年季ものです(笑) CT-311R は、DCプラグもつなぐことが出来る優れものです! ただし!DCプラグは センターマイナスの罠 に注意!! 今どきは、ほとんどがセンタープラスですが、昔はセンターマイナスが主流でした・・・ ...