- 環境ほか:Windows11HOMEからLinux-mint22.3へPythonスクリプトを移植する
- Linux-mintでは、仮想環境、path書式変更、改行コード変更、engine_url追記などが必要でした
PythonスクリプトをWindows11からLinux-mint移植でけっこうつまずきました。OSが違うことで、Pythonスクリプトも書き直し必要になりました。その顛末です。
環境ほか:Windows11HOMEからLinux-mint22.3へPythonスクリプトを移植する
- win_pc環境:Windows11HOME、Python3、MariaDB12.1.2、SQLAlchemy、pymysql、Pandas、VSCode
- mint_pc環境:Linux-mint22.3 他は同様で、仮想環境使用
- win_pcのVSCodeでPython使いスクリプト書き、最終的にデスクトップ・ショートカットで動作する状態にできました。
- 主にMariaDB(≒MySQL)+SQLAlchemy+Pymysql+Pandasでエラーが多かったです。
Linux-mintでは、仮想環境、path書式変更、改行コード変更、engine_url追記などが必要でした
win_pcでVSCodeを使いPythonスクリプトを書き保存、デスクトップにアイコンを配置し、クリックで動作(ターミナルに文字情報表示、Web画面にグラフ表示)できました。その後、このPythonスクリプトをmint_pcへ移植しようとたくさん躓きながら、なんとかできました。この記事は、失敗録ならびに備忘録です。
Linux-mintで「勝手が違うな~」と思ったのは以下のようなことでした。
- 仮想環境が必要なLinux-mint:仮想環境作成、使用時に仮想環境立ち上げが必要でした。
- path/folderの書き方が異なる。
- SQL文内のCSV読込みで使う、改行コードがWindowsと異なる。
- SQL文、LOAD DATA IN INFILE が通らない。挿入追記ある。
dataframeをMySQL(MariaDB)へuploadする際、engine_url 部分に追記などある。2/19抹消:以下説明。場面相違ありました。MariaDBからDataFrameへの読み込み場面でした。文字コード設定はWin11用、Linux-mint用では違う、との判断でした。win用「charset=utf8」、mint用「charset=utf8mb4」と設定してました。先ほど改めて稼働したところmintでwin用charset設定でも動きました。ただし、これでも安心・安全などを担保する知見が爺にはありませぬ。ゆえにこの項目削除します。- デスクトップ・ショートカット作成、機能のさせ方が異なる。 2/19追記:Winでは、ショートカット窓内での追記または、バッチファイル作成で済みますが、mintでは複数のファイルへの記入が必要で、現在の爺で記事にするのは、もう少し経験重ねないとイケヌと自覚しました。なので、項目列挙のみで、別途記事は省略させていただくです。
以上が大まかな内容です。環境により挙動が異なり、記事と齟齬ある場合も考えられます。あらかじめご寛容、ご容赦のほど。
今回は、躓いた項目の列挙程度でした。次回以降、爺の「つまずき」をお知らせ予定です。