以前Connection closed by UNKNOWN port 65535エラーが出る場合を紹介したが、別の原因でまた出た。
今回の原因は接続先IPアドレスが間違っていたこと。サーバのIPがxxx.xxx.xxx.111だとすると、xxx.xxx.xxx.112 にアクセスしていた。IPアドレスを修正すると直った。
エラーメッセージもっと分かりやすければ良いのに。。
以前Connection closed by UNKNOWN port 65535エラーが出る場合を紹介したが、別の原因でまた出た。
今回の原因は接続先IPアドレスが間違っていたこと。サーバのIPがxxx.xxx.xxx.111だとすると、xxx.xxx.xxx.112 にアクセスしていた。IPアドレスを修正すると直った。
エラーメッセージもっと分かりやすければ良いのに。。
このエラーメッセージは色んな原因で出るんだろうけど・・ 自分のところで起きた時の原因は改行コードだった。
改行コードがLFの場合、batファイルの中身がascii文字のみの場合は大丈夫だが 2バイト文字が入るとエラーになる。
改行コードをCRLFにすると直った。
今まで容量空けたい場合はDiskAnalyzerを使ってたけど、重いので他のアプリを探した。 FolderSizesを使ってみたらサクサク動くので気に入った。
有料(しかもPERSONAL EDITIONで30$)だけど。。でも買ってもいいかな。
参考:
LGPLライブラリを使ったらソースコード公開しないといけないもんだと思っていたが、 Pythonのimportは動的リンクで、動的リンクの場合はLGPLのライブラリをリンクしてもソースコードのライセンスはLGPLにしなくていいらしい。
参考:
原因はabsl-pyがデフォルトのログハンドラを書き換えてしまい、かつそいつがsys.stderrがNoneになる場合を考慮していないため。
恐らくPythonを別のプロセスからConsoleを表示させず起動すると標準エラー出力の出力先が無くてNoneになる。
無理矢理だけど、logging._handlerList = []
をlogging.config.dictConfigの前に実行すると直った。
デフォルトのログハンドラ書き換えとかお行儀悪すぎでしょ。。
参考:
dlibインストール時にcmakeを使ってビルドするようで、cmakeが入ってないとエラーがでる。
environment.yamlを使うならdlib以外をyamlを使ってインストールして、その後手動でdlibを入れるとかになりそう。。
手動の手順が入るのが嫌だったのでbatファイルで環境構築するようにした。 以下のようなbatファイルを作って実行すると自動で環境構築できた。
echo y | conda create --name myenv python=3.7.9 call conda activate myenv pip install cmake==3.18.4.post1 pip install tflite==2.3.0 pip install opencv-python==4.1.1.26 pip install pillow==8.0.1 pip install dlib==19.18.0 echo y | pip uninstall cmake
activate/deactivateを実行する場合は以下のようにcallを頭につけないといけない。色々罠があるなぁ。。
echo y | conda create --name myenv python=3.7.9 call conda activate myenv pip install cmake==3.18.4.post1
参考: