Lesimyの備忘録

忘れっぽい脳のための忘備録

pipが壊れた

2023-07-20 18:03:02 | Software

Windows10でモジュールのインストールをしようとしたら pip が古いからアップデートせよと・・・。

 

不用意に通常のコマンドプロンプトでアップデートしようとしたら中途半端に壊れてしまった。

 

管理者コマンドプロンプトにて、pipパッケージをインストールしなおしてアップデートした。

>python -m ensurepip --default-pip
>python -m pip install --upgrade pip

焦った。

常用していない言語は良くわからん。

 


KiCAD6でInteractive HTML BOMをつかう。

2023-06-13 15:34:47 | Software

Windows環境で KiCAD 6.0Interactive HTML BOM を公式サイトの手順に従いインストールしたが、アイコンが表示されず、BOM生成でもリストに表示されず使えない。

 

「プラグインとコンテンツマネージャー」でインストール後にBOM生成の+ボタンで下記を登録することにより使える。 username 部は各ログインユーザーにより異なる。

%Pはプロジェクトのフルパス、%Bはプロジェクト名。

python "C:\Users\username\Documents\KiCad\6.0\3rdparty\plugins\org_openscopeproject_InteractiveHtmlBom/generate_interactive_bom.py" "%P/%B.kicad_pcb"


CeedlingのRubyスクリプト

2022-09-22 14:05:13 | Software
>ceedling gcov:all

でエラーが出た。Ruby2.6以降で ERB.newの引数仕様が変わっているのでエラーになる。

 

C:\Ruby31-x64\lib\ruby\gems\3.1.0\gems\ceedling-0.31.1\lib\ceedling\plugin_reportinator_helper.rb 47行目を変更すると解消できる。

  47 - output = ERB.new(template, 0, "%<>")
  47 + output = ERB.new(template, trim_mode:"%<>");

 

パラメータは名称指定で与えるようだ。

変更後には safe_level が無いが、別で管理するから指定するなと言うことらしい。

 

前の記事と同様に下記のようにすれば両対応できるものと思われ。

  if ERB.instance_method(:initialize).parameters.assoc(:key) # Ruby 2.6+
    output = ERB.new(template, trim_mode:"%<>");
  else
    output = ERB.new(template, 0, "%<>")
  end

 


Unity(C言語用テストスレームワーク)付属のRubyスクリプト

2022-09-06 16:58:04 | Software

Ruby2.6でERB.newの仕様が変更されたのでワーニングがでるケースがある。

 

例えば generate_test_runner.rb:344 からを下記のようにすれば両対応可能。

  if ERB.instance_method(:initialize).parameters.assoc(:key) # Ruby 2.6+
    template = ERB.new(File.read(File.join(__dir__, 'run_test.erb')), trim_mode:'<>')
  else
    template = ERB.new(File.read(File.join(__dir__, 'run_test.erb')), nil, '<>')
  end

ceedlingの付属スクリプトでも同様。