普段はアドレスバーに「chrome://restart」と打って再起動すると軽くなるが、これやってもだめな時があった。
そんなときはタスクトレイの中のChromeアイコンを右クリック→終了を選択してからChromeを起動すると軽くなった。
Chrome重いとかなりストレスフルだから、軽くなって良かった。。
普段はアドレスバーに「chrome://restart」と打って再起動すると軽くなるが、これやってもだめな時があった。
そんなときはタスクトレイの中のChromeアイコンを右クリック→終了を選択してからChromeを起動すると軽くなった。
Chrome重いとかなりストレスフルだから、軽くなって良かった。。
縦向きと横向きのページが混在しているPDFをChromeで表示して印刷すると、 すべて縦向き、またはすべて横向きで印刷するので一部のページが見きれる・・ なのでまず縦向きのページを印刷して、その後横向きのページを印刷するとか面倒なことをしていた。
Acrobat Readerなら自動で回転してくれるのですべてのページを一括で印刷できることに最近気付いた。これは楽で良い。
参考:
手元の環境で実行してもエラーが出ないが、Kaggle Notebookで実行するとエラーになる、ということがあった。
手元とNotebookではライブラリのバージョンが違うのでそのせいだと思うが・・
Notebookではデバッグ実行できないし、原因分析しづらかったのでNotebookが実行されているのと同じ環境を作ることにした。
gcr.io/kaggle-images/pythonでDockerImageが公開されているので、それにsshdなどを追加するDockerfileを作った。
FROM gcr.io/kaggle-images/python:latest SHELL ["/bin/bash", "-l", "-c"] # 必要なパッケージをインストールします RUN apt -y update && apt install -y --no-install-recommends \ wget \ python3-distutils \ ca-certificates \ curl \ python-setuptools \ locales \ tzdata \ sudo openssh-server \ nano \ && apt clean # Set timezone Asia/Tokyo (Ubuntu only) RUN \ cp /etc/localtime /etc/localtime.org && \ ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime && \ sed -i -e 's/Etc\/UTC/Asia\/Tokyo/g' /etc/timezone # Set Locale env. RUN locale-gen ja_JP.UTF-8 ENV LANG ja_JP.UTF-8 ENV LANGUAGE "" ENV LC_ALL ja_JP.UTF-8 # 環境変数の設定 # pythonからの出力をバッファしないようにする(ログが早く届くようにするため) ENV PYTHONUNBUFFERED=TRUE RUN echo ". /opt/conda/etc/profile.d/conda.sh" >> /root/.bashrc # sshログイン用にpublic keyを登録 ARG PUBLIC_KEY RUN mkdir /root/.ssh \ && echo $PUBLIC_KEY > /root/.ssh/authorized_keys \ && chmod 600 /root/.ssh -R # sshd port EXPOSE 22
docker-compose-run.yamlは以下。
# kaggle notebook環境と同じimageからコンテナを起動する。notebookでエラーが発生した場合の原因分析に使用する version: '2' services: kaggle_nb: image: myrepo/kaggle_nb:latest container_name: kaggle_nb ports: - "2223:22" tty: true volumes: - "/kaggle:/kaggle" # コンテナ起動時にsshdを起動する command: bash -c "/etc/init.d/ssh start && /bin/bash"
これでコンテナを起動してPyCharmを接続すればPyCharmでデバッグ実行できる。
今まで曖昧だったので調べた。以下がが分かりやすかったです。
以下のようなやつ。
#!/bin/bash set -euxo pipefail
これの意味を以下で知りました。なるほど。。というか設定された状態をデフォルトにして欲しいレベルだなぁ。
ncduを使うとサブフォルダも含めた容量を計算して見せてくれるので非常に便利だった。 Dockerの容量を削減したい時などに重宝しそう。
WindowsではFolderSizesを愛用してます。前はDriveAnalyzerを使っていたけど、重かったので乗り換え。有料だけどサクサクうごくし気に入ってます。
Dockerコンテナではsystemctlが使えないらしく、困った。
docker-compose.yamlに以下を記載して対応した。
command: bash -c "/etc/init.d/ssh start && /bin/bash"
今回の使い方ではcommandを上書きし、かつsshでもログインしたい場合が無かったので大丈夫だったけど、そういうケースに対応出来ないのでcommandじゃなくてDockerfileの中で自動起動の設定をしておくとかして対応したいけどやり方が見付からなかった。。init.dの設定とかで出来そうだけどだめなのかな?