日々精進

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

Pythonのログファイル出力先を動的に変更する

調べた限り、出力先だけを修正することはできず、 logging.config.dictConfig(config)でログ周りの設定を一括で行い、 出力先も修正することになりそう。 例えば以下のような感じ

        config: dict = self._load_config()
        if "myFileHandler" in config["handlers"].keys():
            config["handlers"]["myFileHandler"]["filename"] = f"{log_dir}/my.log"

conda install -c s3://backet_name ...を実行するとError: boto3 is required for S3 channelsエラー

conda install -c s3://backet_name package_name のようなコマンドを実行すると以下のエラーがでた。

Error: boto3 is required for S3 channels. Please install with `conda install boto3`
Make sure to run `source deactivate` if you are in a conda environment.

この場合、boto3を作業中の仮想環境にinstallしてもだめで、deactivateしてbase仮想環境に切り替えてから conda install boto3を実行すると直った。base仮想環境はconda自身が使ってたのか。。

pythonからheadless chromeを実行すると「Message: unknown error: net::ERR_CONNECTION_TIMED_OUT」エラー

原因はProxyの設定がないため。Proxy環境で動かす人が少ないのか、情報が少なくて困った。。

以下のようにオプションでProxyを設定すると直った。

なお、 --proxy-server=http://domain.com:8888 のようにdns名でProxyを設定すると「ERR_NO_SUPPORTED_PROXIES」エラーが出る。ProxyはIPアドレスで指定しないとだめ。色々罠が多い。。

    options = Options()
    options.add_argument('--headless')
    options.add_argument('--remote-debugging-port=9222')
    options.add_argument('--proxy-server=xxx.xxx.xxx.xxx:8888')
    driver = webdriver.Chrome(f'{ROOT_PATH}/exlib/chromedriver.exe', options=options)

参考:

stackoverrun.com

qiita.com

detail.chiebukuro.yahoo.co.jp

EaseUS todo backupでバックアップを復元すると「ターゲットディスクに十分な空き容量がありません」エラー

バックアップ取ったのと同じディスクに復元しようとしているのに容量が足りないとはなぜ・・と思っていたら 原因は復元先のディスクにEFIシステムパーティションが残っていることだった。 セクタバイセクタで復元しようとしていたからちょっとでもバックアップしたディスクより容量が少ないとエラーになるのかな?

ディスク管理ツールではEFIシステムパーティションを削除できなかったので以下のソフトを使って削除した。

jp.easeus.com

ピボットグラフでデータが無いところの間隔を詰めないようにする

最近便利に使っているエクセルのピボットグラフだが、デフォルトではデータの無い部分を描画しない。

なので、例えば多峰性のヒストグラムをかいた場合、各ピークが結構離れていて間にデータがない区間があるとその部分は詰められるのでピーク同士は結構近く見えてしまったりする。

これを防ぐには以下の手順で「データのないアイテムを表示する」オプションをONにする。これ、個人的にはデフォルトONの方が嬉しいな。。

www4.synapse.ne.jp