プロが教えるわが家の防犯対策術!

Pythonを勉強中で、初歩的ですが教えてください。
今後の目標としてPythonを使用した社内ツール開発をし、社内の人にもファイルを共有→社内ユーザーがファイルをダブルクリックしたら実行できるようなPythonでの効率化ツール開発したいと考えています。
一点懸念点として、Pythonのライブラリのバージョンが、結構アップデートされたりすると聞きました。
それにより開発したPythonコードでアップデート前のコードを使用していて、実行時エラーが発生するなったする可能性はあるのでしょうか。
それを阻止する方法はありますか?
外部環境による環境に変化によるコード修正はできるだけ阻止したいと考えており、知見がある方教えてください。

A 回答 (7件)

exe化も一つの解決策なのですが


①動かないことが有る(パッケージとの相性次第)
②配布するexeファイルがばかでかくなる
(アプリにpythonが丸ごと含まれるので)
③起動に時間がかかる
(環境によっては30秒とか・・・)

など注意点も多いので注意しましょう。
    • good
    • 2
この回答へのお礼

ありがとうございます…!Pythonについて知見がないので、このアドバイスとてもありがたいです!

お礼日時:2024/01/22 11:43

バージョナップでエラーになることが心配でしたら、pythonのバージョンを指定するといいと思いますよ~



また社内の方々に共有するということでしたら、pythonプログラムではなくpythonプログラムをexeファイル化する手段を検討したほうがよいと思います!これならバージョン固定ができますし、なんなら開発環境以外にはpythonの環境を整えなくても問題ないです。(https://qiita.com/nal_dal_dere/items/95e173068af …
    • good
    • 1
この回答へのお礼

ありがとうございます。
バージョン指定とexe化で解決できるのですね!!Python、まったく無知なので他者共有の際、他にもリスク要因があるのかは勉強してみます。

お礼日時:2024/01/21 15:05

>他者パソコンへ、Pythonのライブラリをインストールする際、


>バージョンを指定するようにバッチファイルなどを仕込んでおき、

まず
①pipを使ったパッケージのインストール
②アプリを配布用にパッケージ化する方法
③アプリを仮想環境を利用してサイドバイサイドで実行する方法

を学ぶことをお勧めします。
pipは配布用パッケージからライブラリとの依存条件を読み取り
環境を整える機能を持っています。

但し、初心者向けの内容では無いので
初心者が学ぶのは結構大変です。

アプリのインストールやインスト―ラーの作成は
pythonに限らず、
ソフト開発の鬼門のひとつなので・・・
    • good
    • 0

このての「ライブラリ地獄」を回避するには


サイドバイサイド式のインストールしか有りません。

pythonには「仮想環境」という仕掛けが用意されてます。
これとNO.2で述べた「パッケージ管理」を組み合わせると完璧な
サイドバイサイドなインストールが可能です。
ちょっとめんどくさいですけどね。
普通のアプリに比べインストールが面倒です。
    • good
    • 0

エラーのことまで考えているのは見込みがありますね。


でもご自分のPython作品を他の社員に公開して使ってもらうというのは控えたほうがいいですよ。「作品」はツールじゃありません。
いったん業務ツールとして使われだしたら維持運用の負荷は全部あなたに降りかかります。そしてトラブル対応で業務が遅延したりすると全部あなたのせいです。あなたのツールでみんな楽ができてたはずなのに、感謝の気持ちはどこにもありません。それどころか怒りの矛先は全部あなたに向いてます。
だからご自分が楽をするためのツールとしてひっそり使うことをお勧めします。自分のツールなら何が起きても自分で対応すれば大丈夫です。
もしも社内ツールを目指すのであれば、環境変化に対応するための維持管理の工数やツールリリースとバージョンアップ計画、検証工数、障害対応ルールなどを明確にしたうえで、全体の仕組みとして構築して対応する必要があります。
    • good
    • 0

>開発したPythonコードでアップデート前のコードを使用していて、


>実行時エラーが発生するなったする可能性はあるのでしょうか。

ありえますね。それは C で書いてライブラリが更新された場合も
同じですが・・・

pythonは複数のメジャーバージョンを同じPCに複数インストール
することが可能です。アプリは、そこにパッケージとして
インストールするとライブラリのバージョンを
個別に細かく制御できます。そのために必要なツールは pythonに
用意されています。

pythonのパッケージ管理は歴史的な理由から
資料が散在していて学びにくいのですが、最近は
かなりシンプルにまとまりつつあります。
pyproject.toml の登場でだいぶ楽になってます。
    • good
    • 1
この回答へのお礼

詳細ありがとうございます。
大変勉強になります。
理解がまだまだ乏しく恐縮です。
回答いただいた内容とズレてしまうかもしれませんが例えばこんなことは可能でしょうか。
他者パソコンへ、Pythonのライブラリをインストールする際、バージョンを指定するようにバッチファイルなどを仕込んでおき、Pythonコード自体にもバージョン指定で記述する。
こうすることで、バージョンアップされても問題なく動くことは可能でしょうか。

お礼日時:2024/01/14 21:41

Windows上で動かすツールを考えているなら、Webアプリケーションとして動かすものを考えた方がいいです。


データ管理もファイルではなく、データベースを使って簡単にデータを削除できないような作りを考えた方がいいです。

Windowsアプリケーションという考えなら、PythonではなくC++やC#での開発を検討しましょう。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A