pagetakaBlog

最近リフォームと鳥取県日南町の記事多め。写真、PC、ネット等の話題も

Pythonスクリプト移植(1):Windows11からLinux-mint

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で「勝手が違うな~」と思ったのは以下のようなことでした。

  1. 仮想環境が必要なLinux-mint:仮想環境作成、使用時に仮想環境立ち上げが必要でした。
  2. path/folderの書き方が異なる。
  3. SQL文内のCSV読込みで使う、改行コードがWindowsと異なる。
  4. SQL文、LOAD DATA IN INFILE が通らない。挿入追記ある。
  5. dataframeをMySQL(MariaDB)へuploadする際、engine_url 部分に追記などある。 2/19抹消:以下説明。場面相違ありました。MariaDBからDataFrameへの読み込み場面でした。文字コード設定はWin11用、Linux-mint用では違う、との判断でした。win用「charset=utf8」、mint用「charset=utf8mb4」と設定してました。先ほど改めて稼働したところmintでwin用charset設定でも動きました。ただし、これでも安心・安全などを担保する知見が爺にはありませぬ。ゆえにこの項目削除します。
  6. デスクトップ・ショートカット作成、機能のさせ方が異なる。 2/19追記:Winでは、ショートカット窓内での追記または、バッチファイル作成で済みますが、mintでは複数のファイルへの記入が必要で、現在の爺で記事にするのは、もう少し経験重ねないとイケヌと自覚しました。なので、項目列挙のみで、別途記事は省略させていただくです。

以上が大まかな内容です。環境により挙動が異なり、記事と齟齬ある場合も考えられます。あらかじめご寛容、ご容赦のほど。

今回は、躓いた項目の列挙程度でした。次回以降、爺の「つまずき」をお知らせ予定です。