[解決済み] Pythonのプログラムを配布するにはどうしたらいいですか?
質問
私のアプリケーションは次のようなものです。
main.py windows/ __init__.py mainwindow.py ... モデル/ __init__.py orders.py ... resources/ 画像1.png ロゴ.jpg ...
プログラムはmain.pyで開始されます。そこから'最終的な'アプリケーションを作る良い方法はないでしょうか?私はpy2exe/py2appのようなものを考えていますが、pythonインタプリタ/モジュールをアプリケーションにコピーせず、実行ファイルを1つだけ持っています。
私はdistutilsを見ましたが、これはPythonディレクトリにプログラムをインストールするように見え、それは非Linuxプラットフォームでは普通ではありません。
今のところ、私はソース フォルダ全体をターゲット マシンにコピーして、エイリアスを作成して
main.pyw
へのエイリアスを作成します。いくつかの不便な点があります。
- アイコンはデフォルトの python アイコンです。
- エイリアスを手動で作成しなければならない。
- 私のソースディレクトリには、ソースコントロールフォルダのような多くの追加ファイルがあります。
-
私は名前を変更する必要があります
main.py
をmain.pyw
を手動で設定します。 - ターゲットマシーンには `.pyo* ファイルだけがあればいいのですが。特に理由はないのですが、不要なファイルを持つのは好きではありません。
どのようにして自動配布を作成するのですか?
- は Windows 用ですか? (それは私が今のところサポートしなければならない唯一のプラットフォームです)。
- mac 用?
- linux用?
どのように解決するには?
Pythonアプリケーションを配布する通常の方法は distutils . これはライブラリタイプの Python モジュールと Python アプリケーションの両方を配布するために作られましたが、Windows でどのように動作するかはわかりません。Windows で distutils を使用する場合は、いずれにせよ Python を別途インストールする必要があります。
Linux では disutils で、Windows では Py2exe かそれに類するもので配布することをお勧めします。OS X についてはわかりません。もしそれがエンドユーザーアプリケーションなら、おそらくディスクイメージのようなものが必要でしょう、私はそれをどのように行うか知りません。でも、以下の記事を読んでください。 この投稿 を読んでください。プログラマのために作られたアプリケーションの場合、OS X でも distutils タイプのインストールで大丈夫でしょう。
関連
-
[解決済み] Pythonで現在時刻を取得する方法
-
[解決済み] Pythonで辞書に新しいキーを追加するにはどうすればよいですか?
-
[解決済み] Pythonで2つのリストを連結する方法は?
-
[解決済み] Pythonの辞書からキーを削除するにはどうしたらいいですか?
-
[解決済み】ネストされたディレクトリを安全に作成するには?
-
[解決済み】Pythonに三項条件演算子はありますか?
-
[解決済み】2つの辞書を1つの式でマージする(辞書の和をとる)には?)
-
[解決済み] バブルソートの宿題
-
[解決済み] Python 3でバイナリデータを標準出力に書き込むには?
-
[解決済み] PyQtアプリケーションのスレッド化。QtスレッドとPythonスレッドのどちらを使うか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Python プロジェクトから単一の実行ファイルを作成する
-
[解決済み] pandasのDataFrameから空のセルを含む行を削除する
-
[解決済み] PythonでSVGからPNGに変換する
-
[解決済み] 小数点以下1桁を取得する[重複]。
-
[解決済み] なぜ(0-6)は-6=偽なのか?重複
-
[解決済み] Pandasの'Freq'タグにはどのような値が有効ですか?
-
[解決済み] ファブリック経由でデプロイユーザとしてvirtualenvを有効化する
-
[解決済み] Celeryタスクのユニットテストはどのように行うのですか?
-
[解決済み] virtualenvsはどこに作成するのですか?
-
[解決済み] 単純な文字列からtimedeltaオブジェクトを作成する方法