日々精進

新しく学んだことを書き留めていきます

SageMaker NotebookからS3にファイルをアップロードするとS3UploadFailedError

原因はNotebookインスタンスのIAM roleにS3への書き込み権限が付いてないため。

role = get_execution_role()
print(role)

でroleのARNを表示。 IAM role画面でそのARNで検索。 当該IAM roleにAmazonS3FullAccessポリシーをアタッチ。 で直った。

参考:

stackoverflow.com

conda env create ~でdlibをinstallすると「CMake must be installed to build the following extensions: dlib」エラー

dlibのsetup.pyの中にsubprocess.check_output(['cmake', '--version'])を実行しているところがあり、cmakeへのパスが通ってないためcmakeというファイルが見付からないことが原因。

github.com

subprocess.check_outputの引数にcmakeのパスを設定すれば直せるが、setup.pyはいじれないので困った。。

だめだった解決策は以下。

  • conda env createで読み込むyamlファイルにcmakeを追加
  • cmakeコマンドをwindows向けインストーラを使ってinstallし、システム環境変数のPathにcmakeのパスを設定する
  • ユーザ環境変数のPATHにcmakeのパスを設定
  • set PATH=...でcmakeのパスを設定

最終的にcondaのbase環境でpip install cmakeを実行すると直った。

conda env create~のログを見ると、以下のコマンドを実行してpipパッケージをinstallしている。この時のconda環境はどうやらbase環境であるっぽい。なのでpipパッケージのインストールに必要なpipやcondaパッケージがあればbase環境にインストールすればよい。

['C:\Users\username\AppData\Local\Continuum\miniconda3\envs\my_env\python.exe', '-m', 'pip', 'install', '-U', '-r', 'C:\my_pj\condaenv.3df17y9s.requirements.txt']

pip install cmakeの後pip install dlibを実行するとエラーは出ない。なのでuser siteにcmakeをinstallしても解決するかも知れないが試していない

参考: www.kkaneko.jp

Logicool OptuionsはVMWare Horizon Clientでログインしている場合は使えない

自宅から会社のPCにログインして仕事をする場合、VMWare Horizon Clientを使ってログインしているが、この場合ログイン先のPCにLogicool Optuionsをインストールしてもマウスを認識してくれないのでマウスの設定をすることができない。

多分Windows標準のリモートデスクトップアプリでも同様になる。そりゃそうだろうなと思うけど、手元のPCはシンクライアント端末で、Logicool Optuionsをインストールできない・・よってLogicoolのマウスはデフォルト設定で使うしかない。残念。

MX Master3を使っているが、すべてのボタンはちゃんと動作する。ジェスチャーとか使えないのは残念だけど

xcopyを実行すると「サイクリック コピーは実行できません」エラー

原因はエラーメッセージの通りで、

xcopy . .\dist

のようにコピー元がコピー先を含むようになっていたため。以下のように/EXCLUDEを使って.\distを除外してもだめだった。

xcopy . .\dist /EXCLUDE:.\xcopy-excludelist.txt

参考: www.atmarkit.co.jp

chocolateyを使ってwindowsアプリを一括インストールする

chocolateyはwindows向けパッケージマネージャ。いつも便利に使わせて貰っています。

chocolatey.org

chocolateyでinstallしたパッケージの一覧は以下の手順でexportできる。

  • choco install chocolateygui
  • Chocolatey GUIを起動する
  • 画面右上の方のexportボタンをクリック

exportしたpackage.configがあれば「choco install package.config」だけで必要なアプリのインストールができる。 開発環境の構築が捗るなぁ。

参考:

stackoverflow.com

qiita.com