
Pythonを勉強中で、初歩的ですが教えてください。
今後の目標としてPythonを使用した社内ツール開発をし、社内の人にもファイルを共有→社内ユーザーがファイルをダブルクリックしたら実行できるようなPythonでの効率化ツール開発したいと考えています。
一点懸念点として、Pythonのライブラリのバージョンが、結構アップデートされたりすると聞きました。
それにより開発したPythonコードでアップデート前のコードを使用していて、実行時エラーが発生するなったする可能性はあるのでしょうか。
それを阻止する方法はありますか?
外部環境による環境に変化によるコード修正はできるだけ阻止したいと考えており、知見がある方教えてください。
A 回答 (7件)
- 最新から表示
- 回答順に表示
No.6
- 回答日時:
バージョナップでエラーになることが心配でしたら、pythonのバージョンを指定するといいと思いますよ~
また社内の方々に共有するということでしたら、pythonプログラムではなくpythonプログラムをexeファイル化する手段を検討したほうがよいと思います!これならバージョン固定ができますし、なんなら開発環境以外にはpythonの環境を整えなくても問題ないです。(https://qiita.com/nal_dal_dere/items/95e173068af …)
ありがとうございます。
バージョン指定とexe化で解決できるのですね!!Python、まったく無知なので他者共有の際、他にもリスク要因があるのかは勉強してみます。
No.5
- 回答日時:
>他者パソコンへ、Pythonのライブラリをインストールする際、
>バージョンを指定するようにバッチファイルなどを仕込んでおき、
まず
①pipを使ったパッケージのインストール
②アプリを配布用にパッケージ化する方法
③アプリを仮想環境を利用してサイドバイサイドで実行する方法
を学ぶことをお勧めします。
pipは配布用パッケージからライブラリとの依存条件を読み取り
環境を整える機能を持っています。
但し、初心者向けの内容では無いので
初心者が学ぶのは結構大変です。
アプリのインストールやインスト―ラーの作成は
pythonに限らず、
ソフト開発の鬼門のひとつなので・・・
No.4
- 回答日時:
このての「ライブラリ地獄」を回避するには
サイドバイサイド式のインストールしか有りません。
pythonには「仮想環境」という仕掛けが用意されてます。
これとNO.2で述べた「パッケージ管理」を組み合わせると完璧な
サイドバイサイドなインストールが可能です。
ちょっとめんどくさいですけどね。
普通のアプリに比べインストールが面倒です。
No.3
- 回答日時:
エラーのことまで考えているのは見込みがありますね。
でもご自分のPython作品を他の社員に公開して使ってもらうというのは控えたほうがいいですよ。「作品」はツールじゃありません。
いったん業務ツールとして使われだしたら維持運用の負荷は全部あなたに降りかかります。そしてトラブル対応で業務が遅延したりすると全部あなたのせいです。あなたのツールでみんな楽ができてたはずなのに、感謝の気持ちはどこにもありません。それどころか怒りの矛先は全部あなたに向いてます。
だからご自分が楽をするためのツールとしてひっそり使うことをお勧めします。自分のツールなら何が起きても自分で対応すれば大丈夫です。
もしも社内ツールを目指すのであれば、環境変化に対応するための維持管理の工数やツールリリースとバージョンアップ計画、検証工数、障害対応ルールなどを明確にしたうえで、全体の仕組みとして構築して対応する必要があります。
No.2
- 回答日時:
>開発したPythonコードでアップデート前のコードを使用していて、
>実行時エラーが発生するなったする可能性はあるのでしょうか。
ありえますね。それは C で書いてライブラリが更新された場合も
同じですが・・・
pythonは複数のメジャーバージョンを同じPCに複数インストール
することが可能です。アプリは、そこにパッケージとして
インストールするとライブラリのバージョンを
個別に細かく制御できます。そのために必要なツールは pythonに
用意されています。
pythonのパッケージ管理は歴史的な理由から
資料が散在していて学びにくいのですが、最近は
かなりシンプルにまとまりつつあります。
pyproject.toml の登場でだいぶ楽になってます。
詳細ありがとうございます。
大変勉強になります。
理解がまだまだ乏しく恐縮です。
回答いただいた内容とズレてしまうかもしれませんが例えばこんなことは可能でしょうか。
他者パソコンへ、Pythonのライブラリをインストールする際、バージョンを指定するようにバッチファイルなどを仕込んでおき、Pythonコード自体にもバージョン指定で記述する。
こうすることで、バージョンアップされても問題なく動くことは可能でしょうか。
No.1
- 回答日時:
Windows上で動かすツールを考えているなら、Webアプリケーションとして動かすものを考えた方がいいです。
データ管理もファイルではなく、データベースを使って簡単にデータを削除できないような作りを考えた方がいいです。
Windowsアプリケーションという考えなら、PythonではなくC++やC#での開発を検討しましょう。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
仮想ドライブ
-
”SAP”をコントロールするアプリ...
-
C言語、C+、C++、C#の違い
-
C言語とhtmlの違いを どな...
-
リピート再生が出来ません
-
今のプログラミング言語
-
VisualStudio2008にこのような...
-
数学、プログラミング、物理、...
-
Cプログラミングでハングマンゲ...
-
著作権法について
-
なんの言語でしょうか?
-
日本語Windows版libpqの配布権...
-
窓の杜やベクターのフリーソフ...
-
JavaでWebページ作成
-
簡単な将棋ソフト作成
-
PG SEの仕事内容について
-
どのプログラミング言語で作ら...
-
ゲームの開発言語(1980~2010年)
-
PSPでの自作ソフトの作成(動作)...
-
dbMAGIC業界の今後
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
dbMagicって今でも使われている...
-
Borland CからBuilderへのプロ...
-
c#で作ったアプリケーションを...
-
仮想ドライブ
-
WinXP で MSC?
-
ASP.NETとVB.NETの違いってどの...
-
VB5.0からのバージョンアップ
-
VxWorks+Tornadoを使っての開発
-
VxWorksは何系osになるのでしょ...
-
MSDNは必要か?
-
Windows CE .NET 4.2 でのWEBア...
-
VB開発のMicrosoft Excel 9.0 O...
-
EssbaseのデータをWebブラウザ...
-
ターゲットがUNIXなんですが、W...
-
Windows7付属のXPモード、開発...
-
PHPとCを学んで、
-
過去のDirectXSDK8.0の配布...
-
インフラ系SEとアプリケーショ...
-
iPhone4アプリを作成したい
-
iPhoneアプリ開発方法
おすすめ情報